Spasm-powered site
  • JavaScript 50.1%
  • CSS 41.8%
  • HTML 8.1%
Find a file
2026-07-11 00:15:56 +01:00
docs feat: add .gitkeep to docs 2026-07-07 08:30:01 +01:00
src/media/icons feat: add optional rss icons to categories 2026-07-03 00:38:28 +01:00
utils feat: add markdown to item description array 2026-07-11 00:15:56 +01:00
.env.example feat: change pm2 values with env vars 2026-07-01 01:02:55 +01:00
.gitignore feat: add custom pages and files 2026-07-03 00:39:15 +01:00
.npmrc npm: add npmrc 2026-06-21 00:03:09 +01:00
data.example.json feat: add list pages 2026-07-10 10:07:48 +01:00
ecosystem-prod.config.js feat: change pm2 values with env vars 2026-07-01 01:02:55 +01:00
LICENSE docs: add license 2026-06-20 00:35:12 +01:00
package-lock.json feat: change pm2 values with env vars 2026-07-01 01:02:55 +01:00
package.json feat: add custom pages and files 2026-07-03 00:39:15 +01:00
README.md feat: add markdown docs 2026-07-07 08:29:10 +01:00

Spasm site

Mirrors: Forgejo Codeberg Github

Generate nojs pages for a directory, blog, podcast, videos.

Install

npm ci

Customize

cp data.example.json data.json
vim data.json

Run

npm run prod

Default port is 3366, you can change it via .env file:

cp .env.example .env
vim .env

Development

# Test at localhost:3367
npm run dev

Customize

  • Copy your favicon.ico to src/media/icons/favicon.ico
  • Add icons to src/media
  • Add media files to src/media
  • Add custom pages and other files to src/

You can access any file in src/ folder using its path, e.g., "icon": "/media/icons/my-icon.svg".

Markdown

You can place markdown file files in docs/ folder and reference them in items with "descriptionFile": "hello-world.md".

Options

General

data.theme.name

  • spasm, spasm-dark, darkvegas, greeny, neon
Categories

data.categories[0].width

  • full - display category in a full screen
  • large, medium, small

data.categories[0].page.showMainHero

  • false - hide main hero section

data.categories[0].frontPage

  • false - hide category from home page

data.categories[0].showPagePath

  • false - hide page path (home/blog)
Items

data.items[0].width

  • block (default) - display item in a default block
  • full - display item in a full line

data.items[0].summary - is displayed on index, categories pages. It's also shown on the item page if description doesn't exist. data.items[0].showSummaryAlways - display summary even if description exists, e.g., on an item page. data.items[0].description - is displayed on item pages only.