Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/qualityshepherd/splog
A simple, single page, blog written in vanilla js that supports markdown, rss, podcasts and deploys to github pages (github.io).
https://github.com/qualityshepherd/splog
blog github-pages indexing markdown pagination rss search showdown spa vanilla-js webpack
Last synced: about 1 month ago
JSON representation
A simple, single page, blog written in vanilla js that supports markdown, rss, podcasts and deploys to github pages (github.io).
- Host: GitHub
- URL: https://github.com/qualityshepherd/splog
- Owner: qualityshepherd
- Created: 2020-11-08T22:08:10.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-03-24T15:44:22.000Z (9 months ago)
- Last Synced: 2024-03-24T22:39:37.530Z (9 months ago)
- Topics: blog, github-pages, indexing, markdown, pagination, rss, search, showdown, spa, vanilla-js, webpack
- Language: JavaScript
- Homepage:
- Size: 4.93 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[![Deploy static content to Pages](https://github.com/qualityshepherd/splog/actions/workflows/deploy2pages.yml/badge.svg)](https://github.com/qualityshepherd/splog/actions/workflows/deploy2pages.yml)
# SPLOG
_a simple, static, single page blog that features:_**DEMO**: https://qualityshepherd.github.io/splog/
- Markdown support for posts (with YAML metadata)
- simple `#hash` routing
- index searching
- vanilla js!
- a post indexer: `src/lib/genr8.js` (ie. no DB)
- _load more-style_ pagination
- blog rss builder
- podcast rss builder
- blog posts with _future_ dates are not displayed in lists (blog, search, tag, etc...) but ARE displayed by post. This allows drafts (set date to future) and/or setting posts to publish in the future. You'll still need to push a change for it to index (or cron the indexer?)## Setup
> assumes Node and Git...
1. clone: `git clone [email protected]:qualityshepherd/splog.git`
1. `cd splog`
1. install dependencies: `npm i`
1. add your [markdown](https://guides.github.com/features/mastering-markdown/) posts to `/posts` folder
1. edit the package.json `splog` section with your details
1. `npm start` to build index, rss and pack it
1. run web server (if needed): `npm run server` - http://lvh.me:4242/## Updating
> when you add posts or make changes
1. run `npm start`
1. you may need to clear your browser cache to see changes## Customizing
- edit `package.json` `splog` section to change:
- `pathToIndex` - splog's flatfile db
- `pathToPostsFolder` - where you keep your .md posts
- `maxPosts` - the number of posts to display per "page"
- edit index.html (but leave `#main`)
- add/edit views/pages in `src/views` to render html (injected into `#main`)
- adjust add news views to `src/router.js`
- add posts written in Markdown (must have .md ext) to `/posts`
- run `npm start` to publish new posts (creates new index and webpack in `/dist`) and builds rss.xml## Podcast RSS
> a script that builds an apple/spotify compatible rss xml file that you can submit to all the aggregators
1. open `lib/podRss.js` and edit the `pod` information to match your podcast
2. `npm run pod` or `npm start` to build the xml file `podRss.xml`
3. submit the link to the file (eg. `https://mydomain.com/podRss.xml`) to aggregatrors (eg. Spotify)