javascript


Is this a good way of implementing Blogging Functionality on GitHub Pages?


I'm considering using GitHub Pages to implement a blog and I am kind of in the mood to reinvent the wheel. I've built my website from scratch and I don't want to use Jekyll because it doesn't seem like it can be integrated into an existing website with your own theme (correct me if I'm wrong). I want the following functionalities:
Blog with articles but without the need to constantly update the html myself
Ability to write in plain text on my computer and have my website parse the data and integrate into the website's html when I push to the git repository
A feature on the website which shows a preview of the last three blog posts
The ability to search for specific blog posts hosted on my page through google
I am considering both a static and dynamic solution. The static solution would be to write a python script that reads my blog in text format and updates the blog page to include this new article by adding more html to the blog html page. The dynamic solution would have my blog page fetch articles from the github repository and integrate them into my blog live. This would also allow for fetching more articles on demand (as the user scrolls down my page for example). Is this ridiculously over complicated or does this make sense to do as a little project? Any opinions would be appreciated!
I wrote a static site generator as a Grunt plugin a few years back, so I can probably offer some good advice here.
A static site generator will convert source files (typically Markdown or a similar format for the posts and pages and templates in your templating language of choice) into flat HTML which can then be pushed up to the server. It may also include scripts for pushing it to the place where the site is hosted. If you want to do this in Python there's plenty of appropriate modules - Jinja would be a good example of an appropriate templating system, there's several Markdown implementations, and if you need syntax highlighting Pygments is a solid choice.
It's actually possible to search on the client side. My site uses Lunr.js for this - during the build process it generates an index file for the search, and then that is loaded using jQuery with the rest of the page.
Infinite scroll should also be possible without server-side scripting as it just fetches the same content using Javascript anyway. Paul Irish's Infinite Scroll plugin is no longer maintained, but it would in theory be capable of this and there are probably alternatives.
You might want to check out the article I wrote about it for ideas. The static solution works well for me - it's cheap to host and easy to deploy. You can use Disqus or Facebook comments if need be too.
A simple static site generator is a practical weekend project, and it should be a good way of achieving what you want.

Related Links

jQuery dialog not working Chrome Extension
Show results from form in a div
javascript use test with regex for letters, numbers, spaces and dash
Google maps control buttons
Make an image stationary in parallax webpage?
Two if statements?
How to close toggle slider
how can i parser out my phone number by cheerio
any tagged element within a div is closing it
Highcharts drilldown chart: Display/Hide Plot Bands and Lines on drilldown or drillup
how to display countdown timer in table in js
In JavaScript, if “Strings are objects” then why not Numbers too? [duplicate]
how to get the selected list attribute value
“undefined” after using eval
Grails - set variable from javascript function
jQuery Mobile and Android device back button with build.phonegap.com

Categories

HOME
amazon
types
time
installation
build
kibana
integration
locking
axapta
hashbang
dynamics-ax7
linkedin-api
admob
glmnet
html5-audio
smpp
debian
moqui
canjs
youtube-data-api
persistence
binary-search-tree
lightbox
nswindow
max-flow
mpeg-dash
bit
augmented-reality
facebook-login
arcmap
buddypress
berkeley-db
lattice-diamond
hierarchical
core-motion
josso
todoist
azure-node-sdk
shiny-server
jaas
ical4j
rss-reader
jitterbit
geohashing
shinyproxy
rake
limits
analyzer
spring-rabbit
pgpool
wsgi
soundmanager2
languageservice
ndk-gdb
classnotfound
sles
whenever
appimage
apache-cordova
esri-leaflet
ime
homogenous-transformation
transmission
pspdfkit
android-avd
build-error
sql-server-2008r2-express
built.io
loggly
ngresource
fmdb
k
remotewebdriver
razorgenerator
difference-equations
html-heading
moles
zeroconf
readdirectorychangesw
nspec
mde
reentrant
gwt-platform
sse2
outlook-2007
shelve
flask-restless
mappoint
httperf
code-visualization
.mov
jpasswordfield
edid
linq-to-dataset
event-driven-design
http-streaming
webformsmvp
quickreports
episerver-6
messageformat
springsource
topic-maps

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App