Initial commit
This commit is contained in:
		
							
								
								
									
										45
									
								
								rss.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										45
									
								
								rss.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,45 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					set -euo pipefail
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BASEDIR="$(dirname "${0}" | sed "s|^\.|${PWD}|")"
 | 
				
			||||||
 | 
					DATE="$(date -R)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source "${BASEDIR}/website.conf"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					printf 'Title of blog post:\n'
 | 
				
			||||||
 | 
					read -r TITLE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					printf 'Link to blog post:\n'
 | 
				
			||||||
 | 
					read -r LINK
 | 
				
			||||||
 | 
					LINK="$(printf "${LINK}" | sed 's|^/||')"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					printf 'Description of blog post:\n'
 | 
				
			||||||
 | 
					read -r DESCRIPTION
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cat << EOF | tee "${WEBROOT}/blog/feed.rss" &> /dev/null
 | 
				
			||||||
 | 
					$(cat "${WEBROOT}/blog/feed.rss" | sed '/<last.*$/Q')
 | 
				
			||||||
 | 
							<lastBuildDate>
 | 
				
			||||||
 | 
								${DATE}
 | 
				
			||||||
 | 
							</lastBuildDate>
 | 
				
			||||||
 | 
							<item>
 | 
				
			||||||
 | 
								<title>
 | 
				
			||||||
 | 
									${TITLE}
 | 
				
			||||||
 | 
								</title>
 | 
				
			||||||
 | 
								<link>
 | 
				
			||||||
 | 
									${WEBSITE_URL}/${LINK}
 | 
				
			||||||
 | 
								</link>
 | 
				
			||||||
 | 
								<guid>
 | 
				
			||||||
 | 
									$(uuidgen)
 | 
				
			||||||
 | 
								</guid>
 | 
				
			||||||
 | 
								<pubDate>
 | 
				
			||||||
 | 
									${DATE}
 | 
				
			||||||
 | 
								</pubDate>
 | 
				
			||||||
 | 
								<description>
 | 
				
			||||||
 | 
									${DESCRIPTION}
 | 
				
			||||||
 | 
								</description>
 | 
				
			||||||
 | 
							</item>
 | 
				
			||||||
 | 
					$(cat "${WEBROOT}/blog/feed.rss" | sed '1,29d')
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
							
								
								
									
										10
									
								
								update-recent-blog-posts.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										10
									
								
								update-recent-blog-posts.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					set -euo pipefail
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BASEDIR="$(dirname "${0}" | sed "s|^\.|${PWD}|")"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source "${BASEDIR}/website.conf"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cat "${WEBROOT}/_markdown/blog.md" | sed 's|^5\..*||; s|^4\.|5\.|; s|^3\.|4\.|; s|^2\.|3\.|; s|^1\.|1\. \n2\.|' | tee "${WEBROOT}/_markdown/blog.md" &> /dev/null
 | 
				
			||||||
							
								
								
									
										28
									
								
								webgen.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										28
									
								
								webgen.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,28 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					set -euo pipefail
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BASEDIR="$(dirname "${0}" | sed "s|^\.|${PWD}|")"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source "${BASEDIR}/website.conf"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					for MARKDOWN_FILE in $(find -P "${MARKDOWN_DIR}/" | grep '\.md'); do
 | 
				
			||||||
 | 
						PAGE_DIR="${WEBROOT}/$(cat "${MARKDOWN_FILE}" | grep -m1 '^page_dir: ' | head -1 | sed 's|page_dir: ||; s|^/||')"
 | 
				
			||||||
 | 
						TEMPLATE="${TEMPLATE_DIR}/$(cat "${MARKDOWN_FILE}" | grep -m1 '^template: ' | head -1 | sed 's|template: ||').html"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if [[ ! -d "${PAGE_DIR}/" ]]; then
 | 
				
			||||||
 | 
							# Makes the folder the current page being (re)generated goes in if it does not already exist.
 | 
				
			||||||
 | 
							mkdir \
 | 
				
			||||||
 | 
								-p \
 | 
				
			||||||
 | 
								"${PAGE_DIR}/"
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# pandoc does its magic here
 | 
				
			||||||
 | 
						pandoc \
 | 
				
			||||||
 | 
							--from markdown \
 | 
				
			||||||
 | 
							--to html \
 | 
				
			||||||
 | 
							--template "${TEMPLATE}" \
 | 
				
			||||||
 | 
							--output "${PAGE_DIR}/index.html" \
 | 
				
			||||||
 | 
							"${MARKDOWN_FILE}"
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
							
								
								
									
										4
									
								
								website.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								website.conf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					WEBROOT="${HOME}/Projects/Website"
 | 
				
			||||||
 | 
					MARKDOWN_DIR="${HOME}/Projects/Website-Sources/_markdown"
 | 
				
			||||||
 | 
					TEMPLATE_DIR="${HOME}/Projects/Website-Sources/_template"
 | 
				
			||||||
 | 
					WEBSITE_URL='https://www.easthighnerd.net'
 | 
				
			||||||
		Reference in New Issue
	
	Block a user