The new RomaJS website built with astro and SolidJS.
- Seo Support | automatic sitemap generation, robots.txt,
link[rel="alternate"]etc... - Localized routes
/it/**italian and/en/**english. - Homepage.
- Blog section.
- Blog category pages.
- feed rss available at
<SITE>/blog/rss.xml. - opengraph and twitter social cards.
- headless blog posts available at
/api/blog/post.json. - headless blog posts categories available at
/api/blog/category.json. - headless homepage content available at
/api/hp/it.json&/api/hp/en.json - About page
- homepage
- script that generates blog post files from a template
- github action pipeline that deploys to github pages
- blog post categories pages
- categories index page
- blog post authors pages
- blog post comments powered by giscus
- copy facebook posts 2022, 2020, 2019
- generate blog homepage
- build about page
- setup PR pipeline
- setup deploy to GH pages pipeline
- page with browsable meetups list
- video section with tags + comments
- more...
This project requires node 16 and uses pnpm as package manager.
If you have nvm installed run
nvm useYou do not need to install pnpm, you just need have node 16 installed and then enable corepack:
corepack enableYou should then be able to run pnpm normally in this project, e.g. pnpm run fmt.
Run pnpm run create-post and follow the instructions.
HomePage content is defined in:
src/pages/api/hp/en.json.tssrc/pages/api/hp/it.json.ts
Edit enHpContent to modify the english homepage and itHpContent to change the italian one.
To deploy push the content of main to release:
git fetch --all
git switch main
git pull origin main
git diff --quiet && git diff --cached --quiet && git push origin main:release # --force push if necessarySee deploy.yaml for more details.
There's a cronjob defined in scheduled-deploys.yml that periodically triggers the deployment.
pnpm run devstarts dev server at127.0.0.1:3000.pnpm run buildbuilds project and emits site atdist/folder.pnpm run fmtformat code using prettierpnpm run create-postprompts to generate new postspnpm run previewstarts a server that serves the content ofdist/pnpm run pre-commitruns automatically on pre-commit; there's no need to call it directly
The previous version of romajs.org has been developed by Luca Lanziani and its source code is available at https://github.com/Roma-JS/romajs-on-metalsmith.