{"id":18739,"date":"2013-11-02T11:33:08","date_gmt":"2013-11-02T09:33:08","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=18739"},"modified":"2013-11-02T11:33:08","modified_gmt":"2013-11-02T09:33:08","slug":"github-error-pages","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/02\/github-error-pages\/","title":{"rendered":"GitHub error pages"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>I&#8217;ve praised GitHub many a time in posts on this blog and in numerous conversations over a pint. \u00a0Today, I found yet another reason to do so &#8211; GitHub error pages. \u00a0We&#8217;ve all seen a <a href=\"https:\/\/github.com\/404\">parallax 404<\/a> by now, right?<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2013\/11\/github-404.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"18740\" data-permalink=\"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/02\/github-error-pages\/github-404\/\" data-orig-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2013\/11\/github-404.png?fit=959%2C602&amp;ssl=1\" data-orig-size=\"959,602\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"github 404\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2013\/11\/github-404.png?fit=660%2C414&amp;ssl=1\" class=\"aligncenter size-medium wp-image-18740\" alt=\"github 404\" src=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2013\/11\/github-404-500x313.png?resize=500%2C313&#038;ssl=1\" width=\"500\" height=\"313\" srcset=\"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2013\/11\/github-404.png?resize=500%2C313&amp;ssl=1 500w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2013\/11\/github-404.png?resize=510%2C320&amp;ssl=1 510w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2013\/11\/github-404.png?resize=710%2C445&amp;ssl=1 710w, https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2013\/11\/github-404.png?w=959&amp;ssl=1 959w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>Today was the first time I looked into the source code of the page. \u00a0It greets one with the following words right under the HTML 5 Doctype definition:<\/p>\n<blockquote><p>Hello future GitHubber! I bet you&#8217;re here to remove those nasty inline styles,<br \/>\nDRY up these templates and make &#8217;em nice and re-usable, right?<\/p>\n<p>Please, don&#8217;t. <a href=\"https:\/\/github.com\/styleguide\/templates\/2.0\">https:\/\/github.com\/styleguide\/templates\/2.0<\/a><\/p><\/blockquote>\n<p>The link provides even more goodness. \u00a0The list of other (all?) GitHub error templates is provided with explanation of which one fires when, as well as an insightful list of rules that GitHub uses for building error pages. \u00a0Have a look:<\/p>\n<blockquote><p>If you&#8217;re visiting from the internet, feel free to learn from our style. This is a guide we use for our own apps internally at GitHub. We encourage you to set up one that works for your own team.<\/p>\n<p>Error pages should be built such that they require zero scripting, zero javascript, and zero dependency on anything whatsoever. That means static HTML with inline CSS and base64-encoded images.<\/p>\n<p>The following are banned from every error page:<\/p>\n<ul>\n<li>All\u00a0<code>&lt;script&gt;<\/code>\u00a0tags with an\u00a0<code>src<\/code>\u00a0attribute.<\/li>\n<li>All JavaScript that loads external data.<\/li>\n<li>All\u00a0<code>&lt;link&gt;<\/code>\u00a0tags.<\/li>\n<li>All\u00a0<code>&lt;img&gt;<\/code>\u00a0tags with an\u00a0<code>src<\/code>\u00a0pointing to a URL.<\/li>\n<\/ul>\n<\/blockquote>\n<p>It&#8217;s things like that that keep me coming back and looking for more web development elegance all around GitHub.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>I&#8217;ve praised GitHub many a time in posts on this blog and in numerous conversations over a pint. \u00a0Today, I found yet another reason to do so &#8211; GitHub error pages. \u00a0We&#8217;ve all seen a parallax 404 by now, right? Today was the first time I looked into the source code of the page. \u00a0It &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2013\/11\/02\/github-error-pages\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">GitHub error pages<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,18,62,1334],"tags":[2243,2809,1158,1330],"keyring_services":[],"class_list":["post-18739","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","category-technology","category-web-work","tag-coding-style","tag-github","tag-user-interfaces","tag-web-development"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":25197,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/02\/23\/github-issue-and-pull-request-templates\/","url_meta":{"origin":18739,"position":0},"title":"GitHub : Issue and Pull Request templates","author":"Leonid Mamchenkov","date":"February 23, 2016","format":false,"excerpt":"GitHub is working hard on extending the functionality of their web service. \u00a0They've released a much needed feature recently - templates for new issues and pull requests. I like the elegant implementation - they basically just grab the ISSUE_TEMPLATE.md\u00a0and PULL_REQUEST_TEMPLATE.md files from the root of your project and stick them\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"templates","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/02\/templates-500x303.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":28619,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/06\/10\/15-tips-to-enhance-your-github-flow\/","url_meta":{"origin":18739,"position":1},"title":"15 Tips to Enhance your Github Flow","author":"Leonid Mamchenkov","date":"June 10, 2018","format":false,"excerpt":"\"15 Tips to Enhance your Github Flow\" has lots and lots of good advice for anyone working with GitHub.\u00a0 Tips vary from PR templates all the way to automated dependency management and updates.\u00a0 Really useful!","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2018\/06\/github-500x126.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":28538,"url":"https:\/\/mamchenkov.net\/wordpress\/2018\/05\/02\/code-quality-tools-in-php-to-check-and-improve-your-code\/","url_meta":{"origin":18739,"position":2},"title":"Code quality tools in PHP to check and improve your code","author":"Leonid Mamchenkov","date":"May 2, 2018","format":false,"excerpt":"\"Code quality tools in PHP to check and improve your code\" is a list of both some very well known tools and some new kids on the block.\u00a0 The article covers the following: PHP-CS-Fixer Documentation Github PHPCS Documentation Github PHPMD Documenation Official website PHPStan Github PHPUnit Documentation Github PHPLoc Github\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":22487,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/09\/03\/making-mysql-better-at-github\/","url_meta":{"origin":18739,"position":3},"title":"Making MySQL Better at GitHub","author":"Leonid Mamchenkov","date":"September 3, 2014","format":"link","excerpt":"Making MySQL Better at GitHub \u00a0 \u00a0","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"mysql improvements at GitHub","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2014\/09\/mysql-improvements-at-GitHub-500x240.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":27284,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/01\/github-topics\/","url_meta":{"origin":18739,"position":4},"title":"GitHub Topics","author":"Leonid Mamchenkov","date":"February 1, 2017","format":false,"excerpt":"GitHub blog introduces Topics - a tagging\/labeling mechanism for GitHub repositories, which makes searching by technology, topic, etc so much better. This is a much welcome feature.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/02\/topics-500x263.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":25138,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/01\/27\/pull-request-guidelines-for-bitbucket-cloud\/","url_meta":{"origin":18739,"position":5},"title":"Pull request guidelines for Bitbucket Cloud","author":"Leonid Mamchenkov","date":"January 27, 2016","format":false,"excerpt":"Bitbucket is often viewed as second best compared\u00a0to GitHub. \u00a0And while I love GitHub dearly, I have to say that it's not true. \u00a0It's as good as GitHub. \u00a0Sure, it doesn't offer all GitHub features yet (Releases, for example), but it does offer a few features of its own, which\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"overview","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2016\/01\/overview-500x281.gif?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/18739","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=18739"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/18739\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=18739"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=18739"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=18739"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=18739"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}