Find a file
russell@unturf.com 6576bef263 Add blog.json, JSON Feed, and all agent-friendly formats to CI build
- Add make formats to .gitlab-ci.yml build script
- Generates blog.json at site root (jsonblog.dev format)
- Generates feeds/all.json (JSON Feed v1.1)
- Generates llms.txt for AI agent onboarding
- Converts all RST to Markdown
- Creates plain text versions (index.txt)
2026-01-19 14:34:32 -05:00
content Add UN Inception origin story & llms.txt for agents 2026-01-19 13:37:00 -05:00
lib Move strip_toc_summary plugin to lib/ directory 2025-10-13 09:46:25 -04:00
pelican-themes new file: pelican-themes/README.rst 2015-11-15 17:00:27 -05:00
.gitignore modified: .gitignore 2026-01-05 08:45:18 -05:00
.gitlab-ci-deploy.yml Update .gitlab-ci-deploy.yml 2025-03-21 18:15:52 +00:00
.gitlab-ci.yml Add blog.json, JSON Feed, and all agent-friendly formats to CI build 2026-01-19 14:34:32 -05:00
.theme-version Trigger deployment: Add bottom margin to addon links 2025-10-12 14:10:02 -04:00
CLAUDE.md modified: CLAUDE.md 2025-12-07 08:26:08 -05:00
Makefile Add blog post on UN Inception performance variance & chaos engineering 2026-01-19 13:13:53 -05:00
new_entry.sh new file: content/2016-09-06-set-static-hostname-for-rhel-centos-7-on-aws.rst 2016-09-06 11:53:58 -04:00
pelican-upstream-patch.diff Rebuild site with lighter code background in dark mode 2025-10-13 11:42:44 -04:00
pelicanconf.py Extract SVG & object data attrs for og:image meta tags 2025-12-18 15:26:27 -05:00
README.rst modified: README.rst 2025-10-12 09:18:37 -04:00
requirements.txt Fix all Pelican build errors and implement proper testing workflow 2025-10-10 18:36:08 -04:00
tasks.py new file: tasks.py 2019-11-08 13:05:39 -05:00
template_new_entry.rst modified: content/2011-09-08-a-system-administrators-guide-to-installing-and-maintaining-multiple-python-environments.rst 2016-06-22 11:32:18 -04:00
vars.fish.tmpl Trying to upgrade pelican project. 2019-11-08 13:01:13 -05:00

russell.ballestrini.net
#######################

This is the source code for `my blog <https://russell.ballestrini.net>`_. My blog is a static web site with just HTML!
This project uses Pelican (a static site generator) to produce HTML from ``.rst`` or ``.md`` files.

Pelican is written in Python and uses Jinja2 template engine by default.

The theme defaults to dark mode with a light mode toggle. Theme preference is saved to localStorage and persists across sessions. The dark mode toggle also passes the theme preference to embedded Remarkbox comments via the mode parameter.

Need a new blog post entry?
===============================

Try running:

.. code-block:: bash

 ./new_entry


development
===============================

**Setup (one command does everything):**

.. code-block:: bash

 make venv

This creates a ``venv/`` directory with Pelican, installs all dependencies, clones the theme, and configures everything automatically.

**Testing workflow (ALWAYS test before committing):**

.. code-block:: bash

 make clean && make html && make serve

This builds the site and serves it at http://localhost:8000

**Available commands:**

.. code-block:: bash

 make venv          # Setup virtual environment  
 make html          # Build the site
 make clean         # Remove output directory
 make serve         # Serve site at localhost:8000
 make devserver     # Serve with auto-reload
 make resume        # Generate PDF resume

production release process
===============================

we use Gitlab runners to build (look at .gitlab-ci.yml file) this site and Salt Stack to release the zipped artifacts.

Any web server may be used to host an HTML site. I choose nginx in production because it is known to be very fast at serving static files.

we use environment variables in my ``pelicanconf.py`` to store secrets.

For example: `Remarkbox comments <https://www.remarkbox.com>`_.

---

you should check out https://uncloseai.com for machine learning on your static web pages!

now with translation services!

nice,
dude