pgmtx/blogo
1
0
Fork
You've already forked blogo
0
  • Nim 69%
  • CSS 16%
  • JavaScript 7.8%
  • HTML 3.4%
  • Dockerfile 2.6%
  • Other 1.2%
pgmtx a6e467088f
All checks were successful
ci/woodpecker/push/deploy Pipeline was successful
Change default text font to Roboto for better readability
2026年07月13日 11:25:52 +02:00
.woodpecker CD: add a new step to deploy on my web server 2026年03月23日 21:13:33 +01:00
articles New article 2026年06月29日 20:20:41 +02:00
helpers Add link to Jule playground and update watch script 2026年03月13日 19:31:10 +01:00
highlightme @19aac22b5c highlightme: update to latest 2026年03月13日 19:50:41 +01:00
mh3-armorium @2615b45372 Reupdate submodules 2025年11月18日 23:07:35 +01:00
scripts Fix and format Nim files 2026年06月29日 19:52:21 +02:00
SpywareWatchdog @6fe9fe24fa Update submodule and add command to do so in readme 2025年09月04日 12:17:57 +02:00
static Change default text font to Roboto for better readability 2026年07月13日 11:25:52 +02:00
.gitignore Rename output directory 'public' 2026年03月23日 20:23:57 +01:00
.gitmodules Add submodule to highlight code and update script conditions to check submodules presence 2025年08月07日 19:19:20 +02:00
bookmarks.md Remove useless css includes and simplify execPandoc proc 2025年08月21日 21:33:43 +02:00
config.nims Add config file for Nim files compilation 2025年12月31日 17:14:20 +01:00
Dockerfile Replace deploy script by a Dockerfile and a CD script 2026年03月14日 16:37:09 +01:00
index.md index.md: update used softwares 2026年03月14日 16:44:51 +01:00
README.md Rename output directory 'public' 2026年03月23日 20:23:57 +01:00
watch.sh Add link to Jule playground and update watch script 2026年03月13日 19:31:10 +01:00

Blogo

This is the source code of my blog. It includes markdown pages, assets, and scripts.

Features

  • Draft articles: articles marked as draft can be accessed if you know their page name, but they won't be listed in the index page.
  • Cache system: if an html article is more recent than the markdown one, it won't be regenerated.

Run Locally

Install the following tools:

  • Nim compiler, to compile Nimscript and Nim files;
  • Pandoc, to convert markdown files to html.
  • Bun, which is a dependency for highlightme submodule.
  • An http server. I'm using Python to do so.

Clone the project and go to the project directory. You have to clone the project recursively, otherwise the render script won't work.

git clone --recursive https://codeberg.org/pgmtx/blogo.git
cd blogo

Generate the html files. When executed for the first time, it will install dependencies for highlightme.

nim r scripts/render.nim

Start the server (inside the public directory).

python3 -m http.server

To create a new article, you can execute the script new_article.nims.

nim e scripts/new_article.nims v_and_nim "Comparing V and Nim"

When modifying a submodule, you can update them in this project using the following command:

git submodule update --recursive --remote