Main repository for pickmy.org's blog. Peek at our shitty source code!

Jay 6d015ce062 backend development 5 days ago
_includes 69fe9d87ad don't ask 4 weeks ago
_layouts f1bebb92f4 fix ascii 2 weeks ago
_sass 444e2b9859 undo some css 4 weeks ago
assets 3052e25c6d Initial Commit 1 month ago
blog 4a26c256b2 remove that post 5 days ago
dev fedc30a92d fix post 2 weeks ago
pbx 079d6f9596 remove the file idiot 2 weeks ago
404.md e099f3b1d8 Try again. 1 month ago
Gemfile 3052e25c6d Initial Commit 1 month ago
Gemfile.lock 3052e25c6d Initial Commit 1 month ago
README.md dbfd22e7d1 update readme 2 weeks ago
_config.yml ba9f8e7266 change color scheme to debug code 4 weeks ago
about.md be9436dac5 not-so-static anymore 4 weeks ago
blog.md 4b799d2039 more enhancements 1 month ago
compose.sh 9846e01c2e PHP Changes 4 weeks ago
dev.md 0f8a0ce47a I make 100000 changes a day 4 weeks ago
git.md 0f8a0ce47a I make 100000 changes a day 4 weeks ago
index.md bf47896af3 might break. don't care anymore 5 days ago
menu.md ec60d32acd let's try that 4 weeks ago
pbx.md 0f8a0ce47a I make 100000 changes a day 4 weeks ago
placeholder.list 6d015ce062 backend development 5 days ago
pushpost.sh 4a26c256b2 remove that post 5 days ago
taglines.txt 9846e01c2e PHP Changes 4 weeks ago
tails.txt 6bb09f3edc Let's Do It Again! 4 weeks ago

README.md

pickmy.org Jekyll source

This is the main repository for pickmy.org's website. All the posts and custom code Jekyll uses to build the site.

The site is automatically built when I push stuff to the repository.

The VyprVPN page in /pbx is not generated by Jekyll. This is actually run by a different bash script and not part of this repository.

Modifications To Theme

This uses jekyll-theme-console by b2a3e8 with a few modifications:

  • _sass/base.scss has list bulleting code removed
  • _sass/base.scss has had formatting changes (wider display, bigger text, more header sizes!)
  • assets/list.scss now contains the list bullet code
  • _includes/head.html modified to search for "list: bullet" in front matter
  • _includes/header.html modified to look for page titled "/git" to display non-relative URL.
  • _layouts: page and post html file have had title added using h1 tag
  • _layouts: default.html has *pickmy.org added to img-src CSP since img.pickmy.org hosts images

All other changes are made in the markdown. I broke CSS and most of my changes aren't working. Must fix sometime.

Organization Of Site

The concept of posts and pages the way they were with Wordpress are out the window. All posts are posts. All pages are posts.

I'm taking advantage of the fact I can make a folder, put a _posts folder under it, and Jekyll automatically categorizes those posts. This means there are three main types/categories of posts/pages:

  • /blog: all general blogging type posts
  • /pbx: all Asterisk related stuff
  • /dev: all development based stuff

Post images or external resources ARE NOT stored in this repository. You think I'm crazy?

Use of PHP

Despite being a static site generator; pickmy.org has usually had some form of random text line on it's pages since it's inception. To this effect I have specified permalinks on everything using a new format so Jekyll outputs .php files.

taglines.txt and tails.txt is not the same one used on the site. That one is stored externally and symlinked when the site is built.

Vypr Blacklist

Currently (as of 10-SEP-2022), I am providing a list of IP's from VyprVPN that are attcking SIP servers. This is NOT generated by Jekyll directly. It exists as chunks of files that are catted together with iptables output in the middle. This automatically updates every 4 hours via CRON and the githook reincludes this file every time the site is rebuilt.

compose.sh

Compose.sh is a bash script becuase I'm lazy. It creates a file populated with front matter:

---
title:
date:
permalink:
exceprt_seperator:
---

Post categories are determined by sub-folders automatically; in fact no posts exist in the default _posts folder for that reason. It also copies the file to the right spot based on what you tell it.

user@host:~/blogsite$ ./compose.sh blog Post Title Here

It's the blog category followed by the title. You don't have to enclose the title, the script automatically assumes every word after the first is the title.

Permalink is set to output .php extensions under /category/year/MON/day-title.php - modify how you need.