GitHub: Difference between revisions

From IndieWeb
(Undo revision 25101 by Bear.im (talk))
(remove github-pages content)
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. [&hellip;] 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]]

Revision as of 22:52, 28 January 2016


GitHub 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

Self-hosted alternatives

Main article: git#Software

There are various self-hosted alternatives to github:

Criticism

DMCA harassment

You can lose your data due to unjustified DMCA takedowns:

DDoS collateral damage

Github is sometimes the target of DDoS attacks, apparently targeted at specific projects. While GitHub seems to be handling the attacks in such a way as to keep access working, this is a vulnerability of any centralized service, that it attracts attacks unrelated to your use of it, that jeopardize your use of it (collateral damage).

  • 2015-03-26 DDoS attack [1] via unsuspecting browsers executing scripts from (MitM) faked Baidu requests[2].

See Also