~ajhalili2006's personal website, built with Zensical (successor of Material for Mkdocs) [old repo name got bugged while attempting to do manual knot migration via repo deletion]
andreijiroh.dev
zensical
mkdocs-material
website
1# ~ajhalili2006's website
2
3[](https://pages.dev)
4[](https://gitpod.io/#https://mau.dev/andreijiroh-dev/website)
5[](https://codespaces.new/andreijiroh-dev/website)
6[](https://mau.dev/andreijiroh.dev/website/commits)
7[](https://readthedocs.org/projects/ajhalili2006/)
8[](https://github.com/andreijiroh-dev/docker-images/actions/workflows/docker-buildops.yml)
9[](https://mau.dev/andreijiroh-dev/website/-/pipelines)
10
11This is my sources for both [`andreijiroh.dev`](https://andreijiroh.dev) and tilde userpages,
12built with Mkdocs + [Material theme](https://go.andreijiroh.eu.org/mkdocs-material) by
13[~squidfunk](https://github.com/squidfunk). Sources for Gemini version of the website is
14available at `gmi` directory.
15
16## Information for people wishing to use this repository
17
18While this is fairly just static site (with CI configs and even Cloudflare Pages references)
19and not licensed under the Zlib license ([context from Xe/site repo][zlib-chaos]), please don't
20just fork this repo unless you know what you're REALLY doing.
21
22[zlib-chaos]: https://github.com/Xe/site/blob/HEAD/README.md#information-for-people-wishing-to-use-this-code
23
24If you're pretty serious, please keep several things in mind:
25
26- You must heavily edit the Markdown content of the website. Make your own personal user manual
27and portfolio, or heck even go nuts on the homepage.[^1]
28- Blog posts I written in Gemini version are licensed under CC-BY-SA-4.0,
29[as mentioned below](#legalese) unless specified otherwise.
30But [for the love of god], please use your own blog posts when writing for
31Gemini users instead.
32- For the favicon, use your own profile picture or pick/make another one.
33
34[for the love of god]: https://english.stackexchange.com/questions/351296/what-exactly-does-for-the-love-of-god-mean#351326
35[^1]: Please keep it SFW, since you don't want to get that censored by the MTRCB, right?
36
37**Looking for a template instead with same Mkdocs theme?** No problem! [I contributed one at lorebooks.wiki's GitHub org](https://github.com/lorebooks-wiki/mkdocs-material-template)
38with some fine defaults, alongside a blog section if you prefer.
39
40## Mirrors
41
42Canonically developed at [GitLab SaaS](https://gitlab.com/andreijiroh-dev/website) (formerly on
43[mau.dev](https://mau.dev/andreijiroh-dev/website.git)) where the deployments happen, with the
44following mirrors being maintained:
45
46- GitHub: <https://github.com/andreijiroh-dev/website>, where Docker image builds happen
47- Sourcehut: <https://git.sr.ht/~ajhalili2006/web>
48
49## Structure
50
51- [`markdown`](./markdown/) - the source Markdown files for the website
52- [`overrides`](./overrides) - theme customizations and Mkdocs build hooks in Python
53
54## Site Development
55
56Use the clone links from either the canonical repository URL or its mirrors
57[as mentioned above](#mirrors) or open this repo in a cloud development
58environment using the `open in` links above.
59
60### Building from source
61
62```bash
63# install deps via pipenv...
64pipenv install
65# ...or via pip3 with --user -flag (generated from "pipenv requirements" and sending its output
66# to requirements.txt)
67pip install -r requirements.txt --user
68
69# preview site and edit in another session
70# if you have pipenv installed, just prefix them with pipenv run
71mkdocs serve --watch overrides --watch-theme --livereload
72```
73
74### Sending patches
75
76The gist via the CLI:
77
78```bash
79# send patches via GitLab or GitHub through the CLI
80glab auth login # authenticate CLI against GitLab CI
81gh auth login # authenticate CLI, GitHub.com edition
82glab -R andreijiroh.dev/website mr create --allow-collaboration -b main
83gh -R andreijiroh-dev/website pr create # might automatically closes PR due to mirror status
84
85# or via my public inbox on sourcehut
86# see https://git-send-email.io for setup and guide
87git config sendemail.to "~ajhalili2006/public-inbox@lists.sr.ht" # NOT my personal email
88git config format.subjectPrefix "PATCH web" # identification in archives + builds.sr.ht
89git config --global sendemail.annotate yes
90git config --global format.signOff true # needed for compliance with Linux DCO
91git send-email HEAD^
92```
93
94## Contributing
95
96Patches are always welcome, although you must sign-off your commits to comply with the Linux DCO.
97Please be reminded that while this is a personal open-source project, please expect long waiting
98times during pathc reviews and don't be disappointed when I disagree on stuff and chose not to merge
99the patches for any reasons, including mental health breaks.
100
101## Legalese
102
103Unless otherwise noted, source code is licensed under the MPL-2.0 while website content
104(text and ooriginal graphics) is under CC BY-SA 4.0.
105
106For my profile picture (which used as a favicon anyways), while it is technically under CC BY-SA 4.0
107([see Wikimedia Commons for context][commonspage]), please note that [I still retain personality rights][wikic-pr]
108there.
109
110### Third-party code
111
112- [OpenWeb Icons Set](https://iconduck.com/sets/openweb-icons-set) ([source code](https://github.com/pfefferle/openwebicons?ref=iconduck.com))- [SIL Open Font License 1.1](https://github.com/pfefferle/openwebicons/blob/main/License.txt)
113- Upstream template code from Material for Mkdocs for overrides directory - MIT
114
115[commonspage]: https://commons.wikimedia.org/wiki/File:Andrei_Jiroh_Halili_from_March_2023.png#Licensing
116[wikic-pr]: https://commons.wikimedia.org/wiki/Special:MyLanguage/Commons:Photographs_of_identifiable_people