|
|
Line 4: |
Line 4: |
| '''<dfn>[http://github.com GitHub]</dfn>''' is a specialized content hosting [[silo]] for code, issues, comments, and static content that has some aspects of a [[commons]], and through free domain mapping, a [[content hosting service]] as well. | | '''<dfn>[http://github.com GitHub]</dfn>''' is a specialized content hosting [[silo]] for code, issues, comments, and static content that has some aspects of a [[commons]], and through free domain mapping, a [[content hosting service]] as well. |
|
| |
|
| == GitHub Pages == | | == Github == |
| __TOC__ | | __TOC__ |
| GitHub's <dfn>GitHub Pages</dfn> (gh-pages) feature is a [[web_hosting#Static_domain_hosting|static domain hosting]] where you can host your static sites. They offer pre-built web page templates, as well as the ability to build and host [[Jekyll]] websites.
| |
|
| |
| Static content hosting is a form of [[web hosting]] that can be used for [[getting started]] on the IndieWeb.
| |
|
| |
| See [https://help.github.com/articles/setting-up-a-custom-domain-with-pages GitHub's instructions for setting up a custom domain] for details.
| |
|
| |
| === Guides ===
| |
| There are several guides on how (and approaches) to use GitHub Pages to host your website:
| |
| * [[Jekyll]],Β http://jekyllrb.com/, is enabled by default on GitHub Pages, but you can also build locally and push to GitHub.
| |
| * http://opentechschool.github.io/social-coding/extras/github-pages.html
| |
| * Example: [http://blog.getbootstrap.com/2012/08/11/now-powered-by-jekyll-and-github-pages/ BootStrap blog powered by Jekyll and GitHub pages]
| |
|
| |
| === Fork'n'Go ===
| |
|
| |
| Some websites provide ready-to-fork repositories that one can use to get started. These *don't* have to be used with GitHub, but they are configured to use GitHub pages by default.
| |
|
| |
| * [http://octopress.org/ Octopress] provides a rich website construction toolkit, based on top of Jekyll.
| |
| * [http://pjf.id.au/ pjf.id.au] has his entire website under CC-BY, with a branch on github specifically for forking the design and build process. Like Octopress, it uses Jekyll underneath. See the [https://github.com/pjf/pjf.github.io github repo] for details.
| |
| * [[coisas]] is a browser-based CMS that works only with GitHub Pages, it has a [http://github.com/fiatjaf/coisas-template template] that can be forked from the website UI, and then worked on without need of ever touching the command line.
| |
|
| |
| === Advantages ===
| |
| * An advantage to using a GitHub based solution is that you can easily transfer it to another web host simply by deploying from GitHub to your web host.
| |
|
| |
| === Limitations ===
| |
| ==== No HTTP Status Code Control ====
| |
| gh-pages does not allow you to setup custom HTTP [status] return codes. -bret (in IRC 2013-176, unlogged).
| |
|
| |
| If a page exists, GitHub Pages will return "200 OK"
| |
|
| |
| If a page does not exist, or was deleted, GitHub Pages will return "404 Not Found"
| |
|
| |
| For some as yet unknown reason, GitHub Pages will return a 301 redirect to the same URL on the first request to a page in a "while". On subsequent requests, it will return the actual page content.
| |
|
| |
| There is ongoing discussion on using http-equiv codes to work around limitations like these.
| |
| See: [[deleted#Brainstorming]]
| |
|
| |
| ====Limited file types====
| |
| GitHub isn't a very good host for large media files, especially if they change, although there is nothing stopping you from uploading media.Β Only serve files from gh-pages, as raw repository links have to come out of some application layer, and thus are slower to retrieve.Β Github enforces a soft repository [https://help.github.com/articles/what-is-my-disk-quota size limit of about 1Gb].
| |
|
| |
| ====Jekyll Safe Mode====
| |
| If you wish for GitHub to build your [[Jekyll]] website for you on their server, you must conform to the [https://help.github.com/articles/using-jekyll-with-pages restrictions associated with jekyll safe mode], which means no plugins.Β You can pre-process with as many plugins as you want and upload raw html files instead as a simple workaround (similar to how [[octopress]] works).
| |
|
| |
| ====No SSL on your own domains====
| |
| While GitHub Pages supports shared SSL for pages under the *.github.io domain, it does not support using your own SSL cert for your own domain.
| |
|
| |
| == POSSE to GitHub ==
| |
| For POSSEing source code to github, see [[git]].
| |
|
| |
| === POSSE note to GitHub ===
| |
| Plain text [[note]]s can be POSSEd to GitHub as a gist.
| |
|
| |
| No known examples of anyone doing this yet.
| |
|
| |
| Be the first and add your permalinks here!
| |
|
| |
| === POSSE reply to repo ===
| |
| A [[reply]] to a GitHub repo path, or to the repo/issues/ can (and should) be POSSEd to GitHub as a new issue on that GitHub repo
| |
|
| |
| === POSSE reply to issue ===
| |
| A [[reply]] to a specific GitHub issue can (and should) be POSSEd as a new comment on that issue.
| |
|
| |
| === Backfeed from ===
| |
| If you POSSE to GitHub in any of the above ways, you should [[backfeed]] any replies on your post's GitHub POSSE copy back to your own post so that you can:
| |
| * keep a copy of people's comments on your post
| |
| * view follow-ups to your post on your post, instead of having to visit GitHub's site
| |
| * reply to follow-ups to your post, from your site, instead of using GitHub's UI
| |
|
| |
| === IndieWeb Examples ===
| |
| ==== Aaron Parecki ====
| |
| [[User:Aaronparecki.com|Aaron Parecki]] is manually [[POSSE]]ing comments on GitHub issues from his own site to GitHub. E.g.:
| |
| * http://aaronparecki.com/replies/2013/08/14/6/mailpile (original)
| |
| ** https://github.com/pagekite/Mailpile/issues/48#issuecomment-22682787 (POSSE copy on GitHub)
| |
| ==== Colin Tedford ====
| |
| [[User:Colintedford.com|Colin Tedford]] manually POSSEs Github issues, and manually POSSEs and backfeeds comments on GitHub issues (it's just occasional bug reports, so not as onerous as it might be if he were a developer).
| |
| * http://colintedford.com/2015/02/02.0338-easy-syntax-not-working/ (original, w/ comments)
| |
| ** https://github.com/glensc/dokuwiki-plugin-pageredirect/issues/18 (POSSE copy on Github)
| |
|
| |
| === Bridgy Publish ===
| |
| There is no current support in Bridgy Publish to POSSE to Github. Feature request:
| |
| * https://github.com/snarfed/bridgy/issues/333
| |
| ** for all variations of note->gist, reply -> repo | issue
| |
|
| |
| === Bridgy Backfeed ===
| |
| There is no current support in Bridgy to backfeed responses to your GitHub POSSE copies back to your original posts. Feature request:
| |
| * https://github.com/snarfed/bridgy/issues/333 (part of, likely to be split into a separate issue).
| |
|
| |
| == Porting to the IndieWeb ==
| |
| Example github activity [[Atom]] [[feed]] whereby you can export or [[PESOS]] your activities from:
| |
| * https://github.com/tantek.atom (for account name "tantek")
| |
|
| |
| If you want a feed of activity by others on your repositories, it looks like you can get it through your "Personal News Feed". "Your personal News Feed shows activityβother than your own!βon repositories you watch. […] To subscribe to your personal News Feed in your favorite RSS reader, click Subscribe to News Feed under your list of repositories." https://help.github.com/articles/news-feed/
| |
|
| |
|
| == Self-hosted alternatives == | | == Self-hosted alternatives == |
Line 116: |
Line 25: |
|
| |
|
| == See Also == | | == See Also == |
| | * [[github-pages]] |
| * [[code]] | | * [[code]] |
| * [[issue tracker]] | | * [[issue tracker]] |