Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
7fa56c3
git keep content folders
JonathanMatthey Dec 4, 2025
78e39c5
clean old blog psots
JonathanMatthey Dec 4, 2025
d15d9df
remove base /developers/ url
JonathanMatthey Dec 4, 2025
96f51c9
content config
JonathanMatthey Dec 4, 2025
0126038
strapi cms
JonathanMatthey Dec 4, 2025
59f1bb1
update readme
JonathanMatthey Dec 4, 2025
76da223
restyle press and financial pages
JonathanMatthey Dec 4, 2025
ef4e4a8
update db
JonathanMatthey Dec 4, 2025
8aad66d
rm participate menu item
JonathanMatthey Dec 4, 2025
65ef7b3
blog: add "Stephan helping on setting things up"
JonathanMatthey Dec 5, 2025
7f60963
blog: delete "Stephan helping on setting things up"
JonathanMatthey Dec 5, 2025
00126f5
blog: add "Stephan blog title"
JonathanMatthey Dec 5, 2025
d364eb9
blog: add "New blog post from strapi"
Anca2022 Dec 5, 2025
44de3f6
blog: unpublish "New blog post from strapi"
Anca2022 Dec 5, 2025
256ea17
blog: add "New blog post from strapi"
Anca2022 Dec 5, 2025
836610f
blog: unpublish "New blog post from strapi"
Anca2022 Dec 5, 2025
54233e1
blog: add "New blog post from strapi"
Anca2022 Dec 5, 2025
77bff3e
blog: unpublish "New blog post from strapi"
Anca2022 Dec 5, 2025
ccef67f
blog: add "New blog post from strapi"
Anca2022 Dec 5, 2025
dc86ca6
blog: unpublish "New blog post from strapi"
Anca2022 Dec 5, 2025
f3aceb7
blog: add "New blog post from strapi"
Anca2022 Dec 5, 2025
4ed9d19
set up integrate CKEditor for blog post contentckeditor
Anca2022 Dec 5, 2025
9990e35
delete plugin
Anca2022 Dec 5, 2025
069ab6b
Revert "delete plugin"
Anca2022 Dec 5, 2025
2f956d7
blog: add "New expo"
JonathanMatthey Dec 6, 2025
321227b
new blog posts layouts and format
JonathanMatthey Dec 6, 2025
5707746
set up events and remove info items
JonathanMatthey Dec 6, 2025
96c1f44
update featured blog images
JonathanMatthey Dec 6, 2025
bea27ce
blog: unpublish "New blog post from strapi"
JonathanMatthey Dec 6, 2025
481d510
blog: unpublish "New expo 2"
JonathanMatthey Dec 6, 2025
7ab7c5a
blog: add "New expo 23"
JonathanMatthey Dec 6, 2025
d6fe7f9
blog: delete "New expo 23"
JonathanMatthey Dec 6, 2025
0a77721
blog: add "New expo 23"
JonathanMatthey Dec 6, 2025
f9f002e
update admin buttons
JonathanMatthey Dec 6, 2025
c5ff116
rm old blog post
JonathanMatthey Dec 6, 2025
7067340
events: add "Christmas time"
JonathanMatthey Dec 6, 2025
ef0cbf2
events: unpublish "Christmas time1"
JonathanMatthey Dec 6, 2025
923fe20
events: add "Christmas time1"
JonathanMatthey Dec 6, 2025
befde61
events: add "Easter hackathon"
JonathanMatthey Dec 6, 2025
238753a
rename news events to events
JonathanMatthey Dec 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .tmp/data.db
Binary file not shown.
20 changes: 19 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,20 @@ Inside this project, you'll see the following folders and files:

```
.
├── cms/ # Strapi CMS for content management
├── public/
├── src/
│ ├── components/
│ ├── content/
│ │ ├── docs/
│ ├── content.config/
│ │ ├── blog/ # Blog posts (MDX files generated by CMS)
│ │ └── press/ # Press content (MDX files generated by CMS)
│ ├── content.config.ts
│ ├── layouts/
│ ├── pages/
│ │ ├── blog/ # Blog listing and individual post pages
│ │ ├── index.astro
│ │ └── press.astro # Press page
│ ├── styles/
│ └── env.d.ts
├── astro.config.mjs
Expand All @@ -33,6 +39,18 @@ Static assets, like favicons or images, can be placed in the `public/` directory

For more information about the way our documentation projects are set up, please refer to our [documentation style guide](https://interledger.tech/#docs-site-building).

### Running the CMS

```bash
cd cms
npm install # If not already installed
npm run develop
```

The Strapi admin panel will be available at: <http://localhost:1337/admin>

For detailed CMS documentation, see [cms/README.md](cms/README.md).

## Local Development

We are using [Bun](https://bun.sh/) in this repository, but you could theoretically use the package manager of your choice. To install Bun, run
Expand Down
5 changes: 2 additions & 3 deletions astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import mdx from '@astrojs/mdx'
// https://astro.build/config
export default defineConfig({
site: 'https://interledger.org',
base: '/developers',
integrations: [
starlight({
title: 'Interledger',
Expand All @@ -29,14 +28,14 @@ export default defineConfig({
{
tag: 'script',
attrs: {
src: '/developers/scripts/highlight.min.js',
src: '/scripts/highlight.min.js',
defer: true
}
},
{
tag: 'script',
attrs: {
src: '/developers/scripts/init.js',
src: '/scripts/init.js',
defer: true
}
},
Expand Down
115 changes: 115 additions & 0 deletions cms/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
############################
# OS X
############################

.DS_Store
.AppleDouble
.LSOverride
Icon
.Spotlight-V100
.Trashes
._*


############################
# Linux
############################

*~


############################
# Windows
############################

Thumbs.db
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/
*.cab
*.msi
*.msm
*.msp


############################
# Packages
############################

*.7z
*.csv
*.dat
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip
*.com
*.class
*.dll
*.exe
*.o
*.seed
*.so
*.swo
*.swp
*.swn
*.swm
*.out
*.pid


############################
# Logs and databases
############################

.tmp
*.log
*.sql
*.sqlite
*.sqlite3


############################
# Misc.
############################

*#
ssl
.idea
nbproject
public/uploads/*
!public/uploads/.gitkeep

############################
# Node.js
############################

lib-cov
lcov.info
pids
logs
results
node_modules
.node_history

############################
# Tests
############################

coverage

############################
# Strapi
############################

.env
license.txt
exports
.strapi
dist
build
.strapi-updater.json
.strapi-cloud.json
3 changes: 3 additions & 0 deletions cms/.strapirc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"autoReload": true
}
116 changes: 116 additions & 0 deletions cms/QUICKSTART.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
# Quick Start Guide

## First Time Setup

### 1. Generate Secrets

Before running the CMS for the first time, you need to generate secure secrets. Run this command from the `cms` directory:

```bash
node -e "console.log('APP_KEYS=' + Array(4).fill(0).map(() => require('crypto').randomBytes(16).toString('base64')).join(','))"
node -e "console.log('API_TOKEN_SALT=' + require('crypto').randomBytes(16).toString('base64'))"
node -e "console.log('ADMIN_JWT_SECRET=' + require('crypto').randomBytes(16).toString('base64'))"
node -e "console.log('TRANSFER_TOKEN_SALT=' + require('crypto').randomBytes(16).toString('base64'))"
node -e "console.log('JWT_SECRET=' + require('crypto').randomBytes(16).toString('base64'))"
```

Copy the output and replace the values in your `.env` file.

### 2. Install Dependencies

```bash
npm install
```

### 3. Start the CMS

```bash
npm run develop
```

### 4. Create Admin User

On first run, navigate to http://localhost:1337/admin and create your admin account.

## Creating Your First Press Item

1. Log in to the admin panel at http://localhost:1337/admin
2. Click on "Press Items" in the left sidebar
3. Click "Create new entry"
4. Fill in the required fields:
- **Title**: The headline
- **Description**: A short excerpt (1-2 sentences)
- **Publish Date**: When the item was published
- **Slug**: Auto-generated from title, but can be customized
5. Optional fields:
- **Publication**: Name of the publication (e.g., "TechCrunch")
- **Publication Logo**: URL to publication's logo
- **External URL**: Link to the external article
- **Content**: Full article content (rich text)
- **Featured**: Check to highlight this item
- **Category**: Choose press-release, media-mention, or announcement
6. Click "Save" to create a draft
7. Click "Publish" to make it live

Once published, an MDX file will be automatically created in `../src/content/press/` and will appear on the `/developers/press` page.

## Viewing Your Content

1. Make sure the Astro dev server is running:
```bash
cd .. # Go back to root
bun run start
```

2. Visit http://localhost:1103/developers/press to see your press items

## Editing Content

1. Find the press item in the Strapi admin
2. Make your changes
3. Click "Save" and "Publish"
4. The MDX file will be automatically updated

## Unpublishing Content

1. Find the press item in the Strapi admin
2. Click the "Unpublish" button
3. The MDX file will be automatically deleted

## Tips

- **Drafts**: Save items as drafts to work on them before publishing
- **Featured Items**: Use sparingly - featured items appear in a prominent card grid
- **External Links**: If you provide an External URL, the press item will link to that instead of showing local content
- **Publication Logos**: For best display, use square logos with transparent backgrounds
- **Rich Text**: The content field supports formatting, links, headings, etc.

## Troubleshooting

### Port Already in Use

If port 1337 is already in use, you can change it in `.env`:

```
PORT=1338
```

### MDX Files Not Generating

1. Ensure the item is **published** (not just saved)
2. Check the Strapi console for errors
3. Verify the `MDX_OUTPUT_PATH` in `.env` is correct
4. Check file permissions on `src/content/press/`

### Can't Access Admin Panel

1. Make sure the CMS is running (`npm run develop`)
2. Check that nothing else is using port 1337
3. Try accessing http://127.0.0.1:1337/admin instead

## Next Steps

- Customize the press item schema in `src/api/press-item/content-types/press-item/schema.json`
- Modify the MDX generation logic in `src/api/press-item/content-types/press-item/lifecycles.ts`
- Update the press page styling in `../src/pages/press.astro`
- Configure additional content types for other sections
Loading