{"id":18929108,"url":"https://github.com/jwillikers/blog","last_synced_at":"2025-04-15T14:32:00.466Z","repository":{"id":48704916,"uuid":"237794261","full_name":"jwillikers/blog","owner":"jwillikers","description":"My developer blog containing handy admin and dev guides from my myriad of tinkering","archived":false,"fork":false,"pushed_at":"2024-10-24T20:03:35.000Z","size":9481,"stargazers_count":8,"open_issues_count":10,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-10-26T06:55:11.643Z","etag":null,"topics":["asciidoc","asciidoctor","blog","jekyll","nix","ruby","static-site"],"latest_commit_sha":null,"homepage":"https://jwillikers.com/","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jwillikers.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.adoc","code_of_conduct":"CODE_OF_CONDUCT.adoc","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-02T15:46:16.000Z","updated_at":"2024-10-24T20:03:37.000Z","dependencies_parsed_at":"2024-10-25T04:03:56.939Z","dependency_job_id":null,"html_url":"https://github.com/jwillikers/blog","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwillikers%2Fblog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwillikers%2Fblog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwillikers%2Fblog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwillikers%2Fblog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jwillikers","download_url":"https://codeload.github.com/jwillikers/blog/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223677316,"owners_count":17184441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asciidoc","asciidoctor","blog","jekyll","nix","ruby","static-site"],"created_at":"2024-11-08T11:30:09.666Z","updated_at":"2024-11-08T11:30:10.327Z","avatar_url":"https://github.com/jwillikers.png","language":"Nix","funding_links":[],"categories":[],"sub_categories":[],"readme":"= Blog\nJordan Williams \u003cjordan@jwillikers.com\u003e\n:experimental:\n:icons: font\nifdef::env-github[]\n:tip-caption: :bulb:\n:note-caption: :information_source:\n:important-caption: :heavy_exclamation_mark:\n:caution-caption: :fire:\n:warning-caption: :warning:\nendif::[]\n:Nix: https://nixos.org/[Nix]\n\nimage:https://github.com/jwillikers/blog/actions/workflows/github-pages.yaml/badge.svg[Deploy, link=https://github.com/jwillikers/blog/actions/workflows/github-pages.yaml]\n\nMy developer blog containing handy admin and dev guides from my myriad of tinkering.\nContent is written primarily in https://asciidoctor.org/[Asciidoctor].\nhttps://jekyllrb.com/[Jekyll] generates a static website from the content which is then deployed with https://pages.github.com/[GitHub Pages].\nThe website is available at https://jwillikers.com[jwillikers.com].\n\n== Getting Started\n\nFollow the steps below to build and run the website locally.\nDependencies are managed by {Nix}.\n\n. Install an implementation of {Nix}, such as https://lix.systems[Lix] used here.\n+\n[,sh]\n----\ncurl -sSf -L https://install.lix.systems/lix | sh -s -- install\n----\n\n. Clone the blog's repository.\n+\n[,sh]\n----\ngit clone git@github.com:jwillikers/blog.git\n----\n\n. Change into the blog's directory.\n+\n[,sh]\n----\ncd blog\n----\n\n. Build and run the blog locally with Nix by running the default app.\n+\n[,sh]\n----\nnix run\n----\n\n== Development\n\nThis project's {Nix} flake provides a development environment which can be entered by running the `nix develop` command.\nFor convenience, direnv can be used to automatically load this environment when entering the project's directory.\nThe https://marketplace.visualstudio.com/items?itemName=mkhl.direnv[mkhl.direnv VSCode extension] integrates this environment in VSCode.\nThe repository contains configuration for https://pre-commit.com/[pre-commit], which can be used to automate formatting and various checks when committing changes.\nFollow the instructions here to set up your development environment.\n\n. Install direnv for your system according to the https://direnv.net/docs/installation.html[direnv installation instructions].\n+\n[,sh]\n----\nsudo rpm-ostree install direnv\nsudo systemctl reboot\n----\n\n. Integrate direnv with your shell by following the instructions on the https://direnv.net/docs/hook.html[direnv Setup page].\n\n. Permit the direnv configuration for the repository.\n+\n[,sh]\n----\ndirenv allow\n----\n\n=== Build\n\nThe website can be generated locally with the `jekyll build` command.\n\n[,sh]\n----\njekyll build\n----\n\nJekyll supports running a web server on the local machine, which can be used to preview and test changes to the website.\nThe steps below describe how to do this below, assuming you are in the project directory.\n\n. Run the `jekyll` executable with the `serve` subcommand.\nThe `--open-url` flag is handy for automatically opening the server at `http://127.0.0.1:4000/` in your browser.\n+\n[,sh]\n----\njekyll serve --open-url\nConfiguration file: /home/jordan/Source/blog/_config.yml\n            Source: /home/jordan/Source/blog\n       Destination: /home/jordan/Source/blog/_site\n Incremental build: disabled. Enable with --incremental\n      Generating...\n       Jekyll Feed: Generating feed for posts\n Auto-regeneration: enabled for '/home/jordan/Source/blog'\n    Server address: http://127.0.0.1:4000/\n  Server running... press ctrl-c to stop.\n----\n\n. When finished testing, type kbd:[Ctrl+C] to stop the local web server.\n\n=== Deploy\n\nContinuous integration is configured through GitHub Actions.\nTrigger the CI to build and deploy by pushing changes to the `main` branch on the GitHub remote.\n\n[,sh]\n----\ngit push\n----\n\nThe updated website is deployed to https://jwillikers.com[jwillikers.com].\n\n=== Update\n\nUpdate the Gems with the `just update` command.\nThis will update the `gemset.nix` file after updating the `Gemfile.lock` file.\n\n[,sh]\n----\njust update\n----\n\n== Contributing\n\nContributions in the form of issues, feedback, and even pull requests are welcome.\nI really appreciate pointing out typos, incorrect instructions, and ways to improve or simplify posts.\nConsidering this my personal blog, you will want to create an issue or contact me before making any significant pull request.\nMake sure to adhere to the project's link:CODE_OF_CONDUCT.adoc[Code of Conduct].\nIf you wish to test the website locally, please see \u003c\u003cGetting Started\u003e\u003e.\n\n== Open Source Software\n\nThis project is built on the hard work of countless open source contributors.\nSeveral of these projects are enumerated below.\n\n* https://asciidoctor.org/[asciidoctor]\n* https://bundler.io/[Bundler]\n* https://git-scm.com/[Git]\n* https://jekyllrb.com/[Jekyll]\n* https://github.com/asciidoctor/jekyll-asciidoc[jekyll-asciidoc]\n* https://mmistakes.github.io/minimal-mistakes/[Minimal Mistakes]\n* https://rouge.jneen.net[Rouge]\n* https://www.ruby-lang.org/en/[Ruby]\n\n== Code of Conduct\n\nThe project's Code of Conduct is available in the link:CODE_OF_CONDUCT.adoc[] file.\n\n== License\n\nThis repository is licensed under the https://www.gnu.org/licenses/gpl-3.0.html[GPLv3], available in the link:LICENSE.adoc[] file.\n\nThe website's content is licensed under a http://creativecommons.org/licenses/by-sa/4.0/[Creative Commons Attribution-ShareAlike 4.0 International License].\n\n© 2020-2024 Jordan Williams\n\n== Authors\n\nmailto:{email}[{author}]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwillikers%2Fblog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjwillikers%2Fblog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwillikers%2Fblog/lists"}