{"id":19336707,"url":"https://github.com/samrocketman/blog","last_synced_at":"2025-04-23T01:30:52.063Z","repository":{"id":4566384,"uuid":"44796543","full_name":"samrocketman/blog","owner":"samrocketman","description":"A personal technical blog.  Full featured complete with automated peer review.","archived":false,"fork":false,"pushed_at":"2024-12-15T03:17:06.000Z","size":2570,"stargazers_count":5,"open_issues_count":5,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-02T06:12:14.853Z","etag":null,"topics":["blog","blog-engine","entertainment","hacktoberfest","jekyll-blog","jekyll-site"],"latest_commit_sha":null,"homepage":"http://sam.gleske.net/blog/","language":"HTML","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/samrocketman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"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":"2015-10-23T07:04:30.000Z","updated_at":"2024-12-15T03:17:10.000Z","dependencies_parsed_at":"2024-08-09T02:28:51.017Z","dependency_job_id":"d1c48d58-a602-4e8b-8bd9-e47187508bd1","html_url":"https://github.com/samrocketman/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/samrocketman%2Fblog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samrocketman%2Fblog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samrocketman%2Fblog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samrocketman%2Fblog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samrocketman","download_url":"https://codeload.github.com/samrocketman/blog/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250352183,"owners_count":21416454,"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":["blog","blog-engine","entertainment","hacktoberfest","jekyll-blog","jekyll-site"],"created_at":"2024-11-10T03:12:10.217Z","updated_at":"2025-04-23T01:30:51.540Z","avatar_url":"https://github.com/samrocketman.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# My blog - [![Build Status][stat]][ci]\n\nThis is a blogging website where I post technical information for myself, Sam\nGleske.  If others find it useful then more power to 'em.  If you'd like to\nlearn more about me then check out my [first post][post].\n\n# Features of my blog\n\n- Minimal as possible while still remaining useful.\n- Easy to copy and make your own.  All author settings for customizing this blog\n  is stored in [`_config.yml`][c].\n- Write blog posts in [GitHub flavored markdown][gfm].\n- Slightly [reddish/pink tint which is good for readers' eyes][flux].\n- Tags and categories.\n- Integrated with some social media:\n  - Disqus (for comments)\n  - GitHub (for post history)\n  - Keybase.io links.\n  - GPG key hosting and GPG key ID (verify GPG signed posts for author\n    integrity)\n  - Twitter (post sharing)\n- Automated peer review.\n- Three modes:\n  1. development - distractions like social media buttons and comments removed.\n  2. simulated production - Just like production but local.  Good to check out\n     before publishing when customizing style and layout.\n  3. production - The live site.\n\n# Copy my blog and make it your own\n\n1. Fork or clone this blog.  I recommend you clone and copy so you get stats in\n   your GitHub profile.\n2. Remove all posts from `_posts` and `_drafts`.\n3. Customize `_config.yml` with your own information.\n4. Update `LICENSE.txt` and make it your own.\n4. Publish back to GitHub.\n\n```bash\n# Step 1\ngit clone https://github.com/samrocketman/blog\n# Step 2\nrm _posts/*.md* _drafts/*.md\n# Step 3\nvim _config.yml\n# Step 4\nvim LICENSE.txt\n# Step 5\ngit remote add myblog git@github.com:\u003cyour_username\u003e/\u003cyour_blog\u003e.git\ngit push myblog 'refs/heads/main:refs/heads/gh-pages'\n```\n\n\u003e Note: `gh-pages` branch automatically gets published to GitHub pages.\n\u003e However, if you'd rather be more like this blog publishing from `main`, then\n\u003e you can customize the branch to main from the repository settings.\n\nLegal note: the `3rd_party/` directory must remain intact in order to satisfy\nlicense requirements of both work provided by myself and authors in which I\nbuilt upon.  It contains all notices and licenses for using other peoples'\nsource code.\n\n# Getting started with development\n\n#### Prerequisites\n\n- OS: Ubuntu GNU/Linux\n- Ruby 2.4\n\nIf you're using a Mac, then building the blog won't work.  It's due to\ndifferences in the BSD toolset vs the GNU toolset.\n\nThe blog requires Ruby 2.4 to be installed.  It's best to use [rvm][rvm] for\nRuby.\n\nSet up with `rvm`.\n\n    rvm install 2.4\n    #optionally install within a \"blog\" gemset\n    rvm use 2.4@blog --create\n\nIf you encounter an error about not being in a login shell then use `bash -l` to\ncreate one.  Now when you open a new terminal be sure to execute the following\ncommands before modifying the blog.\n\n    rvm use 2.4@blog --create\n\nInstall dependencies.\n\n    make deps\n\n#### Developing the site\n\nThere a \"make\" commands which make developing this blog easier and performing\nmore complex tasks.\n\n- `make` - Starts the website removing all distractions (development mode).\n- `make prod` - Starts a local copy of the website like it is meant to be viewed\n  in production (simulated production mode).\n- `make test` - Performs automated peer review and generates the live site in\n  the `_site/` directory (production mode).\n\nOther make commands:\n\n- `make history` - will generate data for your site which will be used for the\n  \"last updated\" links in blog posts.  This automatically gets run with `make\n  test` as well.\n- `make sign` - will GPG sign blog posts which have changed using your default\n  GPG private key.\n\n# Automated peer review\n\nWhat is it?  It performs common and repeatable tasks a person would normally do\nwhen checking this blog.  Rather than having to do it you're able to rely on\ncomputers to check it for you.\n\nWhat sort of tasks are performed in automated peer review for this blog?\n\n- Grammar and spelling checking.  It smartly checks posts which have changed\n  rather than everything.\n- GPG signature checking for blog posts to ensure you didn't miss signing your\n  content.\n- Builds the website for uploading to other sources.\n\nAutomated peer review is useful to run before you even publish the website for\nreaders to see.  I use [GitHub pull requests][pr] and Travis CI for automated\npeer review when publishing my new blog posts.\n\n\u003e Note: Grammar and spell checking isn't perfect due to the technical nature of\n\u003e my blog.  I have added `grammar_ignore.dict` for skipping keywords and\n\u003e `grammar_skip.sentences` for skipping whole sentences when I'm writing.  It\n\u003e doesn't always get it right but it still forces me to double check the\n\u003e sentences it calls out.\n\n# Tips for myself\n\nSign any changed blog posts:\n\n    make sign\n\nForce re-signing all blog posts:\n\n    make sign FILES=\"$(echo _posts/*.md)\"\n\nForce re-signing a specific blog post:\n\n    make sign FILES=\"_posts/somepost.md\"\n\nSign a commit:\n\n    git commit -S\n\n# Summary of Licenses\n\nAll source code is MIT Licensed by [LICENSE.txt](LICENSE.txt) with exception\nfor:\n\n- All content under `_drafts/`, `_posts/`, and `images/` is licensed under\n  [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International][cc]\n  and is governed by the contents of [LICENSE.txt](LICENSE.txt).\n- Any content governed by 3rd parties which is covered by copyrights, licenses,\n  and notices outlined in the [`3rd_party/`](3rd_party) folder.\n\n[c]: _config.yml\n[cc]: https://creativecommons.org/licenses/by-nc-sa/4.0/\n[ci]: https://travis-ci.org/samrocketman/blog\n[flux]: https://justgetflux.com/research.html\n[gfm]: https://guides.github.com/features/mastering-markdown/\n[kb.io]: https://keybase.io/\n[nvm]: https://github.com/creationix/nvm\n[post]: https://sam.gleske.net/blog/slice-of-life/2015/10/22/intro.html\n[pr]: https://github.com/samrocketman/blog/pulls?q=is%3Apr\n[rvm]: https://rvm.io/\n[stat]: https://travis-ci.org/samrocketman/blog.svg?branch=main\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamrocketman%2Fblog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamrocketman%2Fblog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamrocketman%2Fblog/lists"}