Skip to content

Eli Array Minkoff's Tech Notes

Contents

As a Computer Networking and Cybersecurity student at Champlain College, I had to maintain a tech journal in a GitHub wiki, containing both notes on the technologies used and reflections on particular assignments and labs. I no longer want to maintain that wiki, now that my studies are complete, but I found the process of working on technical documentation to be helpful in reinforcing the concepts as I learned them. I am migrating the technical documentation to this self-hosted site, and I intend to continue working on it. The original cncs-journal git repository and wiki are archived, but can still be viewed here.

How I maintain this site

I write the documentation in Markdown, and then generate the site contents using MkDocs.

Software and Configuration

MkDocs

As mentioned above, I use MkDocs to generate the site contents from the original Markdown.

The MkDocs configuration file ('mkdocs.yml') contents are as follows:

# SPDX-FileCopyrightText: 2023 - 2025 Eli Array Minkoff
#
# SPDX-License-Identifier: CC0-1.0

site_name: Eli Array Minkoff's Tech Docs
site_url: 'https://tech-docs.earrayminkoff.tech'

theme:
  name: material
  palette:
    scheme: slate

copyright: 'Copyright &copy; 2020 - 2025 Eli Array Minkoff. Unless otherwise noted, all original content is available under <a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International</a>'

plugins:
  - search
  - macros

markdown_extensions:
  - callouts
  - pymdownx.betterem
  - pymdownx.blocks.details
  - pymdownx.inlinehilite
  - pymdownx.highlight
  - pymdownx.tilde
  - pymdownx.tasklist
  - pymdownx.superfences
  - pymdownx.saneheaders
  - mdx_truly_sane_lists

extra:
  j2_template_note:
    '>? NOTE: This page contains `{{ jinja2_style_variable_syntax }}` in example commands or configs. Replace them with the appropriate values when using the code or values in question.'

MkDocs is installed into a pipx-managed venv, with the following extra packages injected:

  • mkdocs-material
  • markdown-callouts
  • mdx-truly-sane-lists
  • mkdocs-autorefs
  • mkdocs-include-markdown-plugin
  • mkdocs-macros-plugin
  • mkdocs-redirects
  • pymdown-extensions

Git

I use Git for version control for the original Markdown.

Neovim

I use Neovim to write the pages. It has a config that is partially shared with Vim in .vimrc, and partially Neovim-specific in ~/.config/init.lua. Both parts are in my dotfiles repo.