A free, simple Github-based blogging platform
demonstrator and instructions: http://pomax.github.io/gh-blog
A simple weblog that runs entirely off of gh-pages
demonstrator and instructions: http://pomax.github.io/gh-blog
Because it's only common decency to give people the option to remove creds.
Some ideas to help google provide proper hashtag urls when searching for an article.
Use html5 <article>
tags instead of <div>
tags for the entries.
Entry.jsx line 42 would simply become <article className="entry" id={id}>
and the closing tag should match.
Add metadata to the entries in Entry.jsx as follows (line 39 onwards):
var posted = (new Date(this.state.published)).toLocaleString();
var updated = (new Date(this.state.updated)).toLocaleString();
var postedISO = (new Date(this.state.published)).toISOString();
var updatedISO = (new Date(this.state.updated)).toISOString();
return (
<div className="entry" id={id} itemscope itemtype="http://schema.org/BlogPosting">
{deletebutton}
<header>
<h1 itemprop="name"><a href={idLink} itemprop="url">{this.state.title}</a></h1>
<h2>Originally posted on <time datetime="{postedISO}" itemprop="datePublished">{posted}</time>,
last updated on <time datetime="{postedISO}" itemprop="dateModified">{updated}</time>
</h2>
</header>
<MarkDown ref="markdown" hidden={this.state.editing} text={this.state.postdata} onClick={this.edit} />
<Editor ref="editor" hidden={!this.state.editing} text={text} update={this.update} view={this.view} delete={this.delete} />
<a className="comments" href={this.props.issues}>leave a comment on github</a>
<Tags disabled={!this.props.editable} tags={this.state.tags} onChange={this.updateTags}/>
</div>
You could also add itemprop="articleBody"
to the <div>
in Markdown.jsx
At a guess the first solution might be sufficient, but the second could be so much better.
Google provide a structured data tester at https://developers.google.com/structured-data/testing-tool/
I have tested one of the articles from your blog with those properties inserted at those positions in the generated html. The results are pretty nice, if I say so myself.
Property | Data found |
---|---|
BlogPosting: | http://www.example.com/gh-weblog-1426701409613 |
name: | Mayne Island, BC |
url: | http://www.example.com/#gh-weblog-1426701409613 |
datePublished: | 2015-03-18T18:56:49 |
dateModified: | 2015-03-18T19:08:33 |
articleBody: | We recently took a trip over to Mayne Island, one of the Canadian Gulf Islands, to visit a friend and generally enjoy being outdoorsy. Coming back to Vancouver after was actually a little depressing (and Vancouver is green), so we'll be going back again next week (hurray!) but in the mean time have some photos from the trip so far: That's a link to the Flickr album, btw, you probably want to click it for much better (and more) images =) |
I don't think it matters that the url listed in the first row is wrong, since the url is correctly found later on. I could be wrong, but I don't see any means of testing it other than trying it out on a live site and seeing what happens.
Pull requests seem like so much hassle sometimes, so feel free to use the above code yourself.
add in the image dropping that pomax.github.io currently supports
i.e. on-page CSS changing with live updates, and a push into github when the CSS is acceptable.
e.g. MathJax after markdown processing, etc.
This can be improved. If there's a math processor like MathJax active, for instance, this makes typing super slow.
Let users set a custom published
time for a post, and skip over any entry with a published
value indicating some point in the future, also leaving them out of the RSS feed
right now the toc requires an offline regeneration. Not sure useful.
post metadata should be loaded, full stop, even if posts themselves aren't. This might require the metadata to become a single file...
Right now this information is console logs. This should be some kind of visual signal to the user in the browser, instead
if text, paste text. If image data, turn into blob, ask for filename, upload to github as image, then "paste" the image link into the post.
current data is using date/time stamps based on localeString rather than UTC
Allow users to make a post as draft
so that it never shows up for unauthenticated users and doesn't end up in the RSS feed
If I understand this right, the entire blog is hidden behind index.html which uses javascript to show content. Thus a robot that doesn't run javascript won't see anything.
Is that an issue? Does Google manage to reference your blog anyway? My guess would be yes, but you might get slightly downranked because of the javascript dependancy.
Could the code be altered to write html files for each post and update index.html?
switch over to https://github.com/michael/github for the authorised client-side work
Probably best as <WebLog title="..." description="..." base="..." feeds="tag1, tag2, ...">
so that users can simply set this up in the HTML include and then never worry about it again.
dedicated #gh-weblog-....
posts can do with a next/previous link to go through the list of known blog entries
We don't want user.github.io
and user.github.io/somerepo/
to clobber each other's administrative settings.
probably also requires rewriting all the stuff to CommonJS format so that Browserify does the right thing:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.