mirror of
https://github.com/peter-tanner/peter-tanner.github.io.git
synced 2024-11-30 12:00:18 +08:00
Add scripts to streamline posting
This commit is contained in:
parent
a28151beba
commit
9063de30fe
|
@ -1,93 +0,0 @@
|
||||||
# The layout text of site
|
|
||||||
|
|
||||||
# ----- Commons label -----
|
|
||||||
|
|
||||||
layout:
|
|
||||||
post: Post
|
|
||||||
category: Category
|
|
||||||
tag: Tag
|
|
||||||
|
|
||||||
# The tabs of sidebar
|
|
||||||
tabs:
|
|
||||||
# format: <filename_without_extension>: <value>
|
|
||||||
home: Home
|
|
||||||
categories: Categories
|
|
||||||
tags: Tags
|
|
||||||
archives: Archives
|
|
||||||
about: About
|
|
||||||
|
|
||||||
# the text displayed in the search bar & search results
|
|
||||||
search:
|
|
||||||
hint: search
|
|
||||||
cancel: Cancel
|
|
||||||
no_results: Oops! No results found.
|
|
||||||
|
|
||||||
panel:
|
|
||||||
lastmod: Recently Updated
|
|
||||||
trending_tags: Trending Tags
|
|
||||||
toc: Contents
|
|
||||||
|
|
||||||
copyright:
|
|
||||||
# # Shown at the bottom of the post
|
|
||||||
# license:
|
|
||||||
# template: This post is licensed under :LICENSE_NAME by the author.
|
|
||||||
# name: CC BY 4.0
|
|
||||||
# link: https://creativecommons.org/licenses/by/4.0/
|
|
||||||
|
|
||||||
# # Displayed in the footer
|
|
||||||
# brief: Some rights reserved.
|
|
||||||
# verbose: >-
|
|
||||||
# Except where otherwise noted, the blog posts on this site are licensed
|
|
||||||
# under the Creative Commons Attribution 4.0 International (CC BY 4.0) License by the author.
|
|
||||||
|
|
||||||
meta: Using the :PLATFORM theme :THEME.
|
|
||||||
|
|
||||||
not_found:
|
|
||||||
statment: Sorry, we've misplaced that URL or it's pointing to something that doesn't exist.
|
|
||||||
|
|
||||||
notification:
|
|
||||||
update_found: A new version of content is available.
|
|
||||||
update: Update
|
|
||||||
|
|
||||||
# ----- Posts related labels -----
|
|
||||||
|
|
||||||
post:
|
|
||||||
written_by: By
|
|
||||||
posted: Posted
|
|
||||||
updated: Updated
|
|
||||||
words: words
|
|
||||||
pageview_measure: views
|
|
||||||
read_time:
|
|
||||||
unit: min
|
|
||||||
prompt: read
|
|
||||||
relate_posts: Further Reading
|
|
||||||
share: Share
|
|
||||||
button:
|
|
||||||
next: Newer
|
|
||||||
previous: Older
|
|
||||||
copy_code:
|
|
||||||
succeed: Copied!
|
|
||||||
share_link:
|
|
||||||
title: Copy link
|
|
||||||
succeed: Link copied successfully!
|
|
||||||
# pinned prompt of posts list on homepage
|
|
||||||
pin_prompt: Pinned
|
|
||||||
|
|
||||||
# Date time format.
|
|
||||||
# See: <http://strftime.net/>, <https://day.js.org/docs/en/display/format>
|
|
||||||
df:
|
|
||||||
post:
|
|
||||||
strftime: "%b %e, %Y"
|
|
||||||
dayjs: "ll"
|
|
||||||
archives:
|
|
||||||
strftime: "%b"
|
|
||||||
dayjs: "MMM"
|
|
||||||
|
|
||||||
# categories page
|
|
||||||
categories:
|
|
||||||
category_measure:
|
|
||||||
singular: category
|
|
||||||
plural: categories
|
|
||||||
post_measure:
|
|
||||||
singular: post
|
|
||||||
plural: posts
|
|
40
post.sh
Executable file
40
post.sh
Executable file
|
@ -0,0 +1,40 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Function to sanitize the title
|
||||||
|
sanitize_title() {
|
||||||
|
title="$1"
|
||||||
|
sanitized_title=$(echo "$title" | tr -dc 'a-zA-Z0-9 ')
|
||||||
|
echo "$sanitized_title" | tr ' ' '-'
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to generate the front matter with the current date
|
||||||
|
generate_front_matter() {
|
||||||
|
current_date=$(date +'%Y-%m-%d %H:%M:%S %z')
|
||||||
|
echo "---"
|
||||||
|
echo "title: $1"
|
||||||
|
echo "author: Peter Tanner"
|
||||||
|
echo "date: $current_date"
|
||||||
|
echo "categories: [Blogging] # Blogging | Electronics | Programming | Mechanical"
|
||||||
|
echo "tags: [getting started] # systems | embedded | rf | microwave | electronics | solidworks | automation"
|
||||||
|
echo "---"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Prompt the user for a title
|
||||||
|
read -e -p "Enter the title: " user_title
|
||||||
|
|
||||||
|
# Sanitize the title
|
||||||
|
sanitized_title=$(sanitize_title "$user_title")
|
||||||
|
|
||||||
|
# Generate the filename with the current date
|
||||||
|
current_date=$(date +'%Y-%m-%d')
|
||||||
|
filename="${current_date}-${sanitized_title}.md"
|
||||||
|
filepath="_posts/${filename}"
|
||||||
|
|
||||||
|
# Check if the file already exists
|
||||||
|
if [ -e "$filepath" ]; then
|
||||||
|
echo "A file with the name '$filename' already exists in the '_posts' subdirectory."
|
||||||
|
else
|
||||||
|
# Create the new file and add the front matter
|
||||||
|
generate_front_matter "$user_title" > "$filepath"
|
||||||
|
echo "File '$filename' created successfully in the '_posts' subdirectory."
|
||||||
|
fi
|
25
push.sh
Executable file
25
push.sh
Executable file
|
@ -0,0 +1,25 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
get_new_posts() {
|
||||||
|
git status --porcelain=v1 _posts | grep -E '^\?\?' | cut -d ' ' -f 2 | tr '\n' ' '
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to generate the commit message
|
||||||
|
generate_commit_message() {
|
||||||
|
printf "New posts: "
|
||||||
|
get_new_posts
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check if there are any new or modified files to commit
|
||||||
|
if [ -n "$(get_new_posts)" ]; then
|
||||||
|
# Add all new and modified files
|
||||||
|
echo "$(generate_commit_message)"
|
||||||
|
git add $(get_new_posts)
|
||||||
|
|
||||||
|
# Commit the changes with the generated message
|
||||||
|
git commit -m "$(generate_commit_message)"
|
||||||
|
git push
|
||||||
|
echo "Changes committed successfully."
|
||||||
|
else
|
||||||
|
echo "No new or modified files to commit."
|
||||||
|
fi
|
Loading…
Reference in New Issue
Block a user