From d4353d39e9fb91008467c08125385fd5f2fad32e Mon Sep 17 00:00:00 2001 From: Nishanth Shanmugham Date: Sat, 31 Oct 2015 16:20:28 -0500 Subject: [PATCH] Update example site --- exampleSite/config.toml | 31 +- exampleSite/content/about-this-site.html | 8 + exampleSite/content/blog.html | 8 + exampleSite/content/fixed/about.md | 17 +- exampleSite/content/fixed/code.md | 21 +- exampleSite/content/fixed/colophon.md | 15 + .../content/posts/use-at-instead-of-head.md | 29 + exampleSite/content/projects.html | 8 + exampleSite/content/resume.html | 7 + exampleSite/content/writing.html | 8 + exampleSite/public/.gitkeep | 0 exampleSite/public/404/index.html | 137 ++++ exampleSite/public/about-this-site/index.html | 8 + exampleSite/public/about/index.html | 154 ++++ exampleSite/public/blog/index.html | 8 + exampleSite/public/code/index.html | 158 ++++ exampleSite/public/colophon/index.html | 150 ++++ exampleSite/public/css/main.css | 691 ++++++++++++++++++ exampleSite/public/css/pygments.css | 61 ++ exampleSite/public/css/reset.css | 48 ++ exampleSite/public/fixed/index.html | 162 ++++ exampleSite/public/fixed/index.xml | 73 ++ exampleSite/public/img/favicon.ico | Bin 0 -> 370070 bytes exampleSite/public/img/leaf.ico | Bin 0 -> 370070 bytes exampleSite/public/index.html | 171 +++++ exampleSite/public/index.xml | 212 ++++++ exampleSite/public/posts/index.html | 156 ++++ exampleSite/public/posts/index.xml | 68 ++ .../posts/redirect-webpages-html/index.html | 169 +++++ .../posts/use-at-instead-of-head/index.html | 174 +++++ exampleSite/public/projects/index.html | 8 + exampleSite/public/resume/index.html | 7 + exampleSite/public/sitemap.xml | 55 ++ exampleSite/public/writing/index.html | 8 + exampleSite/static/img/leaf.ico | Bin 0 -> 370070 bytes 35 files changed, 2801 insertions(+), 29 deletions(-) mode change 100755 => 100644 exampleSite/config.toml create mode 100644 exampleSite/content/about-this-site.html create mode 100644 exampleSite/content/blog.html create mode 100644 exampleSite/content/fixed/colophon.md create mode 100644 exampleSite/content/posts/use-at-instead-of-head.md create mode 100644 exampleSite/content/projects.html create mode 100644 exampleSite/content/resume.html create mode 100644 exampleSite/content/writing.html create mode 100644 exampleSite/public/.gitkeep create mode 100644 exampleSite/public/404/index.html create mode 100644 exampleSite/public/about-this-site/index.html create mode 100644 exampleSite/public/about/index.html create mode 100644 exampleSite/public/blog/index.html create mode 100644 exampleSite/public/code/index.html create mode 100644 exampleSite/public/colophon/index.html create mode 100644 exampleSite/public/css/main.css create mode 100644 exampleSite/public/css/pygments.css create mode 100644 exampleSite/public/css/reset.css create mode 100644 exampleSite/public/fixed/index.html create mode 100644 exampleSite/public/fixed/index.xml create mode 100644 exampleSite/public/img/favicon.ico create mode 100644 exampleSite/public/img/leaf.ico create mode 100644 exampleSite/public/index.html create mode 100644 exampleSite/public/index.xml create mode 100644 exampleSite/public/posts/index.html create mode 100644 exampleSite/public/posts/index.xml create mode 100644 exampleSite/public/posts/redirect-webpages-html/index.html create mode 100644 exampleSite/public/posts/use-at-instead-of-head/index.html create mode 100644 exampleSite/public/projects/index.html create mode 100644 exampleSite/public/resume/index.html create mode 100644 exampleSite/public/sitemap.xml create mode 100644 exampleSite/public/writing/index.html create mode 100644 exampleSite/static/img/leaf.ico diff --git a/exampleSite/config.toml b/exampleSite/config.toml old mode 100755 new mode 100644 index 1b35c8b..5910335 --- a/exampleSite/config.toml +++ b/exampleSite/config.toml @@ -1,11 +1,12 @@ -baseurl = "http://hugo.spf13.com/" -title = "Hugo Themes" -author = "Steve Francia" +baseurl = "https://nishanths.github.io/" +builddrafts = false canonifyurls = true contentdir = "content" languageCode = "en-US" layoutdir = "layouts" publishdir = "public" +author = "Nishanth Shanmugham" +title = "Nishanth Shanmugham" pygmentsuseclasses = true [permalinks] @@ -13,13 +14,17 @@ fixed = ":title/" posts = "posts/:slug/" [params] -Author = "Steve Francia" -DateForm = "Jan 2, 2006" # required -Email = "username@hogwarts.edu" -Facebook = "//facebook.com/username" -GATracker = "" -GitHub = "//github.com/username" -Lang = "en" # -LinkedIn = "//linkedin.com/in/username" -Twitter = "//twitter.com/username" -# WebfontsFile = "css/mywebfontsfile.css" # relative to static/ directory, defaults to empty string +Author = "Nishanth Shanmugham" +CacheBuster = true +DateForm = "Jan 2, 2006" +DateFormFull = "Mon Jan 2 2006 15:04:05 MST" +Description = "The website description" +Email = "nishanths@utexas.edu" +FaviconFile = "img/leaf.ico" +GATracker = "" +GitHub = "//github.com/nishanths" +Initials = "ns" # displayed on single post page +Lang = "en" +LinkedIn = "//linkedin.com/in/nshanmugham" +Twitter = "//twitter.com/nshanmugham" +# WebfontsFile = "css/proximanova.css" diff --git a/exampleSite/content/about-this-site.html b/exampleSite/content/about-this-site.html new file mode 100644 index 0000000..72a1331 --- /dev/null +++ b/exampleSite/content/about-this-site.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/exampleSite/content/blog.html b/exampleSite/content/blog.html new file mode 100644 index 0000000..f6d1240 --- /dev/null +++ b/exampleSite/content/blog.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/exampleSite/content/fixed/about.md b/exampleSite/content/fixed/about.md index 8ed577a..60e569a 100644 --- a/exampleSite/content/fixed/about.md +++ b/exampleSite/content/fixed/about.md @@ -5,13 +5,14 @@ title = "About" +++ -TODO: Page not complete yet. +I'm a software engineer and student at UT Austin. I primarily program in JavaScript. I currently work at Evernote. I also teach a web development class as part of MAD, a computer science campus organization. -Information about you. +I love soccer and mediterranean food. You can find recent open source work on GitHub. -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non -proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +Please feel free to get in touch at nishanths@utexas.edu. + + + +
+ +About this site diff --git a/exampleSite/content/fixed/code.md b/exampleSite/content/fixed/code.md index 63dffac..3e6520b 100644 --- a/exampleSite/content/fixed/code.md +++ b/exampleSite/content/fixed/code.md @@ -5,11 +5,16 @@ title = "Code" +++ -TODO: Page not complete yet. - -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non -proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +* [iterators.js](https://github.com/nishanths/iterators.js): Useful functional iterators for node and the browser +* [Spitfire](https://github.com/nishanths/spitfire-live): HackTX 2015, Winner – a real-time rhyming assistant +* [markdown-viewer-component](https://github.com/nishanths/markdown-viewer-component): Web Component that renders Markdown placed inside an element as HTML +* [cocoa-hugo-theme](https://github.com/nishanths/cocoa-hugo-theme): Distraction-free reading theme for Hugo, the static site generator +* [slack-texts](https://github.com/nishanths/slack-texts): Important channel messages also sent to your phone via SMS +* [YWeatherAPI](https://github.com/nishanths/YWeatherAPI): Powerful Yahoo! Weather API wrapper for Mac and iOS +* [uMAD 2015](https://github.com/utcsmad/umad-website-2015): Website for the student developer conference built with Middleman +* [What's Playing](https://github.com/nishanths/what-s-playing): Desktop notifications for online music playback changes +* [QuickCal](https://github.com/nishanths/QuickCal): Highlight and add dates from any website to Google Calendar +* [YouTube Pause](https://github.com/nishanths/youtube-pause-chrome): Spacebar pauses the video instead of scrolling down the page. [CNET](http://www.cnet.com/how-to/chrome-pause-youtube-videos-with-the-spacebar/) +* [ISBN Search](https://duckduckgo.com/?q=ISBN+number+0-06-250217-4&ia=books): DuckDuckGo module to lookup book information by ISBN +* [HTML Entities Encoder &](https://duckduckgo.com/?q=html+encode+the+paragraph+sign&ia=answer) [Decoder](https://duckduckgo.com/?q=decoded+html+for+%26%23x00a5%3B&ia=answer): Encode and decode HTML entities on DuckDuckGo using natural queries +* [Auto-Browser](https://github.com/nishanths/auto-browser): HackTX 2014, Top 10 diff --git a/exampleSite/content/fixed/colophon.md b/exampleSite/content/fixed/colophon.md new file mode 100644 index 0000000..e27e93f --- /dev/null +++ b/exampleSite/content/fixed/colophon.md @@ -0,0 +1,15 @@ ++++ +date = "2015-08-22T06:28:26-07:00" +draft = false +title = "colophon" +heading = "About This Site" + ++++ + +This website is the place where I write about JavaScript, git, and tech. It is also a personal homepage. + +The site is built with Hugo—a static site generator made with Go and is hosted on GitHub Pages. The website source code is available on GitHub. It uses the cocoa theme. The posts are written in Markdown. + +The primary font face is Proxima Nova and the monospace font face is Ubuntu Mono. The social icons are from the Ionicons font set. CSS classes for code syntax highlighting are inserted during compile-time by Hugo using Pygments. + +If you find errors, [please let me know](https://github.com/nishanths/nishanths.me/issues/new). diff --git a/exampleSite/content/posts/use-at-instead-of-head.md b/exampleSite/content/posts/use-at-instead-of-head.md new file mode 100644 index 0000000..797a611 --- /dev/null +++ b/exampleSite/content/posts/use-at-instead-of-head.md @@ -0,0 +1,29 @@ ++++ +date = "2015-08-25T17:09:14-05:00" +draft = false +title = "Use @ instead of HEAD" +slug = 'use-at-instead-of-head' + ++++ + +I recently discovered that from git version [1.8.5](https://github.com/git/git/blob/master/Documentation/RelNotes/1.8.5.txt#L100) onwards, `@` can replace `HEAD`: + +{{< highlight bash >}} +$ git reset --hard @~2 +$ git rebase -i @~10 +$ git diff @~2..@~3 +{{}} + +And also in most scenarios `HEAD` can be left out completely, so you can say: + +{{< highlight bash >}} +$ git reset -- @{2} +{{}} + +instead of: + +{{< highlight bash >}} +$ git reset -- HEAD@{2} +{{}} + +It takes some getting used to, but it's definitely faster than typing `HEAD`. diff --git a/exampleSite/content/projects.html b/exampleSite/content/projects.html new file mode 100644 index 0000000..2dada2d --- /dev/null +++ b/exampleSite/content/projects.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/exampleSite/content/resume.html b/exampleSite/content/resume.html new file mode 100644 index 0000000..0977b07 --- /dev/null +++ b/exampleSite/content/resume.html @@ -0,0 +1,7 @@ + + + + + + + diff --git a/exampleSite/content/writing.html b/exampleSite/content/writing.html new file mode 100644 index 0000000..f6d1240 --- /dev/null +++ b/exampleSite/content/writing.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/exampleSite/public/.gitkeep b/exampleSite/public/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/exampleSite/public/404/index.html b/exampleSite/public/404/index.html new file mode 100644 index 0000000..f8cf10a --- /dev/null +++ b/exampleSite/public/404/index.html @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + 404 Page not found + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
Nishanth Shanmugham
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+
404
+
Sorry, this page does not exist.
+ +
+
+
+ + + + + + + + + + diff --git a/exampleSite/public/about-this-site/index.html b/exampleSite/public/about-this-site/index.html new file mode 100644 index 0000000..a68e05c --- /dev/null +++ b/exampleSite/public/about-this-site/index.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/exampleSite/public/about/index.html b/exampleSite/public/about/index.html new file mode 100644 index 0000000..0218650 --- /dev/null +++ b/exampleSite/public/about/index.html @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + About + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
Nishanth Shanmugham
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+
+ + About + +
+ +
+

I’m a software engineer and student at UT Austin. I primarily program in JavaScript. I currently work at Evernote. I also teach a web development class as part of MAD, a computer science campus organization.

+ +

I love soccer and mediterranean food. You can find recent open source work on GitHub.

+ +

Please feel free to get in touch at nishanths@utexas.edu.

+ +

+ +


+ +

About this site

+ +
+
+
+
+ + + + + + + + + + diff --git a/exampleSite/public/blog/index.html b/exampleSite/public/blog/index.html new file mode 100644 index 0000000..2669858 --- /dev/null +++ b/exampleSite/public/blog/index.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/exampleSite/public/code/index.html b/exampleSite/public/code/index.html new file mode 100644 index 0000000..9e8bc5c --- /dev/null +++ b/exampleSite/public/code/index.html @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + Code + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
Nishanth Shanmugham
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+
+ + Code + +
+ +
+
    +
  • iterators.js: Useful functional iterators for node and the browser
  • +
  • Spitfire: HackTX 2015, Winner – a real-time rhyming assistant
  • +
  • markdown-viewer-component: Web Component that renders Markdown placed inside an element as HTML
  • +
  • cocoa-hugo-theme: Distraction-free reading theme for Hugo, the static site generator
  • +
  • slack-texts: Important channel messages also sent to your phone via SMS
  • +
  • YWeatherAPI: Powerful Yahoo! Weather API wrapper for Mac and iOS
  • +
  • uMAD 2015: Website for the student developer conference built with Middleman
  • +
  • What’s Playing: Desktop notifications for online music playback changes
  • +
  • QuickCal: Highlight and add dates from any website to Google Calendar
  • +
  • YouTube Pause: Spacebar pauses the video instead of scrolling down the page. CNET
  • +
  • ISBN Search: DuckDuckGo module to lookup book information by ISBN
  • +
  • HTML Entities Encoder & Decoder: Encode and decode HTML entities on DuckDuckGo using natural queries
  • +
  • Auto-Browser: HackTX 2014, Top 10
  • +
+ +
+
+
+
+ + + + + + + + + + diff --git a/exampleSite/public/colophon/index.html b/exampleSite/public/colophon/index.html new file mode 100644 index 0000000..2104d8b --- /dev/null +++ b/exampleSite/public/colophon/index.html @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + About This Site + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
Nishanth Shanmugham
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+
+ + About This Site + +
+ +
+

This website is the place where I write about JavaScript, git, and tech. It is also a personal homepage.

+ +

The site is built with Hugo—a static site generator made with Go and is hosted on GitHub Pages. The website source code is available on GitHub. It uses the cocoa theme. The posts are written in Markdown.

+ +

The primary font face is Proxima Nova and the monospace font face is Ubuntu Mono. The social icons are from the Ionicons font set. CSS classes for code syntax highlighting are inserted during compile-time by Hugo using Pygments.

+ +

If you find errors, please let me know.

+ +
+
+
+
+ + + + + + + + + + diff --git a/exampleSite/public/css/main.css b/exampleSite/public/css/main.css new file mode 100644 index 0000000..2406f10 --- /dev/null +++ b/exampleSite/public/css/main.css @@ -0,0 +1,691 @@ +@import url(https://fonts.googleapis.com/css?family=Open+Sans:400); +@import url(https://fonts.googleapis.com/css?family=Ubuntu+Mono:400,400italic,700,700italic); +@import url(https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css); +@import url(https://fonts.googleapis.com/css?family=Raleway:700); +.dark { + color: #444 !important; +} +.light { + color: #999 !important; +} +.accent { + color: #f46d2c !important; +} +@media (min-width: 550px) { + .small-screens-only { + display: none; + } +} +.large-screens-only { + display: none; +} +@media (min-width: 550px) { + .large-screens-only { + display: initial; + } +} +*, +*:before, +*:after { + box-sizing: border-box; +} +a, +a:visited, +a:focus, +a:active { + text-decoration: none; +} +html { + height: 100%; + font-size: 16px; +} +body { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: -ms-flex; + display: flex; + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-align-items: center; + -moz-align-items: center; + -ms-align-items: center; + align-items: center; + -webkit-justify-content: flex-start; + -moz-justify-content: flex-start; + -ms-justify-content: flex-start; + justify-content: flex-start; + width: 100%; + min-height: 100%; + font-weight: 400; + font-family: 'ProximaNova', 'Open Sans', 'Helvetica Neue', 'Arial', sans-serif; + color: #444; + line-height: 1.6; + text-rendering: optimizeLegibility !important; + -webkit-font-smoothing: subpixel-antialiased; + font-smoothing: subpixel-antialiased; +} +@media (min-width: 550px) { + body { + -webkit-justify-content: center; + -moz-justify-content: center; + -ms-justify-content: center; + justify-content: center; + } + .narrow { + display: none !important; + } +} +.icon { + text-rendering: geometricPrecision !important; +} +.section { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: -ms-flex; + display: flex; + -webkit-justify-content: center; + -moz-justify-content: center; + -ms-justify-content: center; + justify-content: center; + -webkit-align-items: center; + -moz-align-items: center; + -ms-align-items: center; + align-items: center; + width: 100%; +} +.container { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: -ms-flex; + display: flex; + width: 100%; +} +@media (min-width: 550px) { + .section { + padding: 0 16px; + margin-left: 100px; + margin-right: 100px; + max-width: 750px; + } +} +.section.header { + -webkit-order: 0; + -moz-order: 0; + -ms-order: 0; + order: 0; +} +.section.icons { + -webkit-order: 1; + -moz-order: 1; + -ms-order: 1; + order: 1; +} +.section.main { + -webkit-order: 2; + -moz-order: 2; + -ms-order: 2; + order: 2; +} +@media (min-width: 550px) { + .section.header { + -webkit-order: 0; + -moz-order: 0; + -ms-order: 0; + order: 0; + } + .section.icons { + -webkit-order: 2; + -moz-order: 2; + -ms-order: 2; + order: 2; + } + .section.main { + -webkit-order: 1; + -moz-order: 1; + -ms-order: 1; + order: 1; + } +} +.section.header { + background-color: #f7f7f7; +} +.section.header .container { + -webkit-align-items: center; + -moz-align-items: center; + -ms-align-items: center; + align-items: center; + -webkit-justify-content: center; + -moz-justify-content: center; + -ms-justify-content: center; + justify-content: center; +} +.section.header .content { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: -ms-flex; + display: flex; + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-align-items: center; + -moz-align-items: center; + -ms-align-items: center; + align-items: center; +} +.section.header .name { + font-size: 18px; + font-family: 'Raleway', 'Helvetica Neue', 'Arial', sans-serif; + letter-spacing: -0.005rem; + text-transform: uppercase; + font-weight: 700; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + font-smoothing: antialiased; + color: #444; + color: #555; +} +.section.header nav { + font-size: 14px; + margin-bottom: 16px; + text-transform: uppercase; +} +.section.header nav ul { + list-style: none; + text-align: center; + display: -webkit-inline-flex; + display: -moz-inline-flex; + display: -ms-inline-flexbox; + display: -ms-inline-flex; + display: inline-flex; +} +.section.header nav ul a { + margin-left: 6px; + margin-right: 6px; +} +.section.header nav ul a:first-child { + margin-left: 0; +} +.section.header nav ul a:last-child { + margin-right: 0; +} +.section.header nav ul li { + color: #999; + -webkit-transition: color 0.1s cubic-bezier(0.47, 0, 0.75, 0.72); + -moz-transition: color 0.1s cubic-bezier(0.47, 0, 0.75, 0.72); + -ms-transition: color 0.1s cubic-bezier(0.47, 0, 0.75, 0.72); + -o-transition: color 0.1s cubic-bezier(0.47, 0, 0.75, 0.72); +} +.section.header nav ul li:hover { + color: #b7b7b7; +} +@media (min-width: 550px) { + .section.header { + background-color: transparent; + } + .section.header .container { + -webkit-justify-content: flex-start; + -moz-justify-content: flex-start; + -ms-justify-content: flex-start; + justify-content: flex-start; + } + .section.header .content { + -webkit-align-items: flex-start; + -moz-align-items: flex-start; + -ms-align-items: flex-start; + align-items: flex-start; + } + .section.header .name { + color: #444; + } + .section.header nav { + font-size: 13px; + margin-bottom: 0; + } + .section.header nav ul { + text-align: left; + } + .section.header nav ul li { + color: #999; + } + .section.header nav ul li:hover { + color: #444; + } +} +.section.icons { + background-color: #f7f7f7; +} +.section.icons .container { + -webkit-align-items: center; + -moz-align-items: center; + -ms-align-items: center; + align-items: center; + -webkit-justify-content: center; + -moz-justify-content: center; + -ms-justify-content: center; + justify-content: center; +} +.section.icons .content a { + margin-left: 6px; + margin-right: 6px; + color: #999; + -webkit-transition: color 0.1s cubic-bezier(0.47, 0, 0.75, 0.72); + -moz-transition: color 0.1s cubic-bezier(0.47, 0, 0.75, 0.72); + -ms-transition: color 0.1s cubic-bezier(0.47, 0, 0.75, 0.72); + -o-transition: color 0.1s cubic-bezier(0.47, 0, 0.75, 0.72); +} +.section.icons .content a:first-child { + margin-left: 0; +} +.section.icons .content a:last-child { + margin-right: 0; +} +.section.icons .content a:hover { + color: #b7b7b7; +} +.section.icons .content a .icon { + font-size: 20px; +} +.section.icons .content a .icon.larger { + font-size: 22px; +} +@media (min-width: 550px) { + .section.icons { + background-color: transparent; + } + .section.icons .container { + -webkit-justify-content: flex-start; + -moz-justify-content: flex-start; + -ms-justify-content: flex-start; + justify-content: flex-start; + } + .section.icons .content a { + margin-left: 3px; + margin-right: 3px; + color: #999; + } + .section.icons .content a:hover { + color: #444; + } + .section.icons .content a .icon { + font-size: 18px; + } + .section.icons .content a .icon.larger { + font-size: 20px; + } +} +.section.main .container { + -webkit-align-items: center; + -moz-align-items: center; + -ms-align-items: center; + align-items: center; + -webkit-justify-content: flex-start; + -moz-justify-content: flex-start; + -ms-justify-content: flex-start; + justify-content: flex-start; +} +.section.main .content { + color: #444; + font-size: 16px; +} +.section.main .content .title-container { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: -ms-flex; + display: flex; + -webkit-justify-content: space-between; + -moz-justify-content: space-between; + -ms-justify-content: space-between; + justify-content: space-between; +} +.section.main .content .title-container .initials { + display: none; + font-size: 18px; + font-family: 'Raleway', 'Helvetica Neue', 'Arial', sans-serif; + letter-spacing: -0.005rem; + text-transform: uppercase; + font-weight: 700; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + font-smoothing: antialiased; + color: #444; + color: #999; +} +.section.main .content .title-container .initials a { + color: #999; + -webkit-transition: color 0.1s cubic-bezier(0.47, 0, 0.75, 0.72); + -moz-transition: color 0.1s cubic-bezier(0.47, 0, 0.75, 0.72); + -ms-transition: color 0.1s cubic-bezier(0.47, 0, 0.75, 0.72); + -o-transition: color 0.1s cubic-bezier(0.47, 0, 0.75, 0.72); +} +.section.main .content .title-container .initials a:hover { + color: #444; +} +.section.main .content .page-heading { + font-size: 18px; + font-family: 'Raleway', 'Helvetica Neue', 'Arial', sans-serif; + letter-spacing: -0.005rem; + text-transform: uppercase; + font-weight: 700; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + font-smoothing: antialiased; + color: #444; + margin-bottom: 16px; +} +.section.main .content .front-matter .page-heading { + margin-bottom: 0; +} +.section.main .content .front-matter .meta { + font-size: 14px; + color: #999; + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: -ms-flex; + display: flex; + margin-bottom: 32px; +} +.section.main .content .front-matter .date, +.section.main .content .front-matter .word-count, +.section.main .content .front-matter .reading-time .middot { + display: none; +} +.section.main .content .front-matter .middot { + font-size: 6px; + margin: 0 6px; + display: inline; + vertical-align: middle; +} +.section.main .content .front-matter .middot:before { + content: "•"; +} +@media (min-width: 550px) { + .section.main .content .front-matter .date, + .section.main .content .front-matter .word-count, + .section.main .content .front-matter .reading-time .middot { + display: initial; + } + .section.main .content .title-container .initials { + display: initial; + } +} +.section.main .container.f04 { + -webkit-justify-content: center; + -moz-justify-content: center; + -ms-justify-content: center; + justify-content: center; +} +.section.main .container.f04 .content { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: -ms-flex; + display: flex; + -webkit-flex-direction: column; + -moz-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-align-items: center; + -moz-align-items: center; + -ms-align-items: center; + align-items: center; +} +.section.main .container.f04 .content .num { + margin: 30px 0px 30px 0; + font-weight: 200; + font-family: 'Raleway', 'Helvetica Neue', 'Arial', sans-serif; + font-size: 50px; +} +.section.main .container.f04 .content .detail { + margin-bottom: 40px; +} +@media (min-width: 550px) { + .section.main .container.f04 { + -webkit-justify-content: flex-start; + -moz-justify-content: flex-start; + -ms-justify-content: flex-start; + justify-content: flex-start; + } + .section.main .container.f04 .content { + -webkit-align-items: flex-start; + -moz-align-items: flex-start; + -ms-align-items: flex-start; + align-items: flex-start; + } + .section.main .container.f04 .content .num { + margin: 0 0 10px 0; + font-size: 32px; + } + .section.main .container.f04 .content .detail { + margin-bottom: 30px; + } +} +.section.main .container .content .post-item { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flexbox; + display: -ms-flex; + display: flex; + -webkit-align-items: center; + -moz-align-items: center; + -ms-align-items: center; + align-items: center; + list-style: none; +} +.section.main .container .content .post-item .meta { + font-size: 14px; + color: #999; + min-width: 100px; + text-align: right; + margin-right: 16px; +} +.section { + padding: 0 16px; +} +.section.header { + padding-top: 32px; + padding-bottom: 16px; +} +.section.icons { + padding-top: 0; + padding-bottom: 32px; +} +.section.main { + padding-top: 32px; + padding-bottom: 32px; +} +@media (min-width: 550px) { + .container { + margin: 0 30px; + } + .section.header { + padding-top: 60px; + padding-bottom: 60px; + } + .section.icons { + padding-top: 60px; + padding-bottom: 60px; + } + .section.main { + padding-top: 0; + padding-bottom: 0; + } + .section.main.post { + padding-top: 60px; + padding-bottom: 60px; + } +} +a { + color: #f46d2c; + -webkit-transition: color 0.1s cubic-bezier(0.47, 0, 0.75, 0.72); + -moz-transition: color 0.1s cubic-bezier(0.47, 0, 0.75, 0.72); + -ms-transition: color 0.1s cubic-bezier(0.47, 0, 0.75, 0.72); + -o-transition: color 0.1s cubic-bezier(0.47, 0, 0.75, 0.72); +} +a:hover { + color: #de5a1d; +} +img { + max-width: 100%; +} +img.profile { + min-width: 100%; +} +@media (min-width: 550px) { + img.profile { + min-width: 400px; + max-width: 400px !important; + } +} +.page-heading a { + color: #444; +} +.section.main .content .markdown h1, +.section.main .content .markdown h2, +.section.main .content .markdown h3, +.section.main .content .markdown h4, +.section.main .content .markdown h5, +.section.main .content .markdown h6 { + font-size: 18px; + font-family: 'Raleway', 'Helvetica Neue', 'Arial', sans-serif; + letter-spacing: -0.005rem; + text-transform: uppercase; + font-weight: 700; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + font-smoothing: antialiased; + color: #444; +} +.section.main .content .markdown h1 { + font-size: 1.75rem; + margin-bottom: 2rem; +} +.section.main .content .markdown h2 { + font-size: 1.5rem; + margin-bottom: 1.5rem; +} +.section.main .content .markdown h3 { + font-size: 1em; + margin-bottom: 1rem; +} +.section.main .content .markdown h4, +.section.main .content .markdown h5, +.section.main .content .markdown h6 { + font-size: 1rem; + margin-bottom: 1rem; + letter-spacing: none; + text-transform: none; +} +.section.main .content .markdown code, +.section.main .content .markdown pre { + font-family: 'Ubuntu Mono', 'Menlo', monospace; + font-size: 0.98rem; + background-color: #f7f7f7; +} +.section.main .content .markdown code { + /* enclosed by single backtick (`) */ + padding: .15em .5em; + color: #a10c31; + border-radius: 2px; +} +.section.main .content .markdown pre { + /* Hugo specific: consider using the 'highlight' shortcode */ + display: block; + margin-top: 1rem; + margin-bottom: 2rem; + padding: 1rem; + line-height: 1.5em; + white-space: pre; + white-space: pre-wrap; + word-break: break-all; + word-wrap: break-word; +} +.section.main .content .markdown pre code { + /* enclosed by 4 backticks (````) */ + padding: 0; + font-size: 0.9rem; +} +.section.main .content .markdown p { + /* Invoked by line break */ + font-size: 1rem; + margin-top: 0; + margin-bottom: 1em; +} +.section.main .content .markdown ul, +.section.main .content .markdown ol, +.section.main .content .markdown dl { + margin-top: 1rem; + margin-bottom: 2rem; +} +.section.main .content .markdown dt { + font-weight: bold; +} +.section.main .content .markdown dd { + margin-bottom: .5rem; +} +.section.main .content .markdown ul { + margin-bottom: 1.25rem; +} +.section.main .content .markdown li { + list-style-type: disc; + list-style-position: inside; +} +.section.main .content .markdown hr { + position: relative; + margin: 1.75rem 0; + border: 0; + border-top: 1px solid #b3b3b3; + border-top: 1px solid #cccccc; +} +.section.main .content .markdown abbr { + font-size: 0.85rem; + font-weight: bold; + color: #777777; + text-transform: uppercase; +} +.section.main .content .markdown abbr[title] { + cursor: help; + border-bottom: 1px dotted #b3b3b3; +} +.section.main .content .markdown blockquote { + padding: .5rem 1rem; + margin: .8rem 0; + color: #7a7a7a; + border-left: .25rem solid #e5e5e5; +} +.section.main .content .markdown blockquote p:last-child { + margin-bottom: 0; +} +@media (min-width: 550px) { + .section.main .content .markdown blockquote { + padding-right: 5rem; + padding-left: 1.25rem; + } +} +.section.main .content .markdown img { + margin: 1rem 0; + max-width: 100%; +} +.section.main .content .markdown table { + margin-bottom: 1rem; + width: 100%; + border: 1px solid #e5e5e5; + border-collapse: collapse; +} +.section.main .content .markdown td, +.section.main .content .markdown th { + padding: .25rem .5rem; + border: 1px solid #e5e5e5; +} +.section.main .content .markdown tbody tr:nth-child(odd) td, +.section.main .content .markdown tbody tr:nth-child(odd) th { + background-color: #f7f7f7; +} diff --git a/exampleSite/public/css/pygments.css b/exampleSite/public/css/pygments.css new file mode 100644 index 0000000..dc60655 --- /dev/null +++ b/exampleSite/public/css/pygments.css @@ -0,0 +1,61 @@ +.hll { background-color: #ffffcc } +.c { color: #999988; font-style: italic } /* Comment */ +.err { color: #a61717; background-color: #e3d2d2 } /* Error */ +.k { color: #000000; font-weight: bold } /* Keyword */ +.o { color: #000000; font-weight: bold } /* Operator */ +.cm { color: #999988; font-style: italic } /* Comment.Multiline */ +.cp { color: #999999; font-weight: bold; font-style: italic } /* Comment.Preproc */ +.c1 { color: #999988; font-style: italic } /* Comment.Single */ +.cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ +.gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ +.ge { color: #000000; font-style: italic } /* Generic.Emph */ +.gr { color: #aa0000 } /* Generic.Error */ +.gh { color: #999999 } /* Generic.Heading */ +.gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ +.go { color: #888888 } /* Generic.Output */ +.gp { color: #555555 } /* Generic.Prompt */ +.gs { font-weight: bold } /* Generic.Strong */ +.gu { color: #aaaaaa } /* Generic.Subheading */ +.gt { color: #aa0000 } /* Generic.Traceback */ +.kc { color: #000000; font-weight: bold } /* Keyword.Constant */ +.kd { color: #000000; font-weight: bold } /* Keyword.Declaration */ +.kn { color: #000000; font-weight: bold } /* Keyword.Namespace */ +.kp { color: #000000; font-weight: bold } /* Keyword.Pseudo */ +.kr { color: #000000; font-weight: bold } /* Keyword.Reserved */ +.kt { color: #445588; font-weight: bold } /* Keyword.Type */ +.m { color: #009999 } /* Literal.Number */ +.s { color: #d01040 } /* Literal.String */ +.na { color: #008080 } /* Name.Attribute */ +.nb { color: #0086B3 } /* Name.Builtin */ +.nc { color: #445588; font-weight: bold } /* Name.Class */ +.no { color: #008080 } /* Name.Constant */ +.nd { color: #3c5d5d; font-weight: bold } /* Name.Decorator */ +.ni { color: #800080 } /* Name.Entity */ +.ne { color: #990000; font-weight: bold } /* Name.Exception */ +.nf { color: #990000; font-weight: bold } /* Name.Function */ +.nl { color: #990000; font-weight: bold } /* Name.Label */ +.nn { color: #555555 } /* Name.Namespace */ +.nt { color: #000080 } /* Name.Tag */ +.nv { color: #008080 } /* Name.Variable */ +.ow { color: #000000; font-weight: bold } /* Operator.Word */ +.w { color: #bbbbbb } /* Text.Whitespace */ +.mf { color: #009999 } /* Literal.Number.Float */ +.mh { color: #009999 } /* Literal.Number.Hex */ +.mi { color: #009999 } /* Literal.Number.Integer */ +.mo { color: #009999 } /* Literal.Number.Oct */ +.sb { color: #d01040 } /* Literal.String.Backtick */ +.sc { color: #d01040 } /* Literal.String.Char */ +.sd { color: #d01040 } /* Literal.String.Doc */ +.s2 { color: #d01040 } /* Literal.String.Double */ +.se { color: #d01040 } /* Literal.String.Escape */ +.sh { color: #d01040 } /* Literal.String.Heredoc */ +.si { color: #d01040 } /* Literal.String.Interpol */ +.sx { color: #d01040 } /* Literal.String.Other */ +.sr { color: #009926 } /* Literal.String.Regex */ +.s1 { color: #d01040 } /* Literal.String.Single */ +.ss { color: #990073 } /* Literal.String.Symbol */ +.bp { color: #999999 } /* Name.Builtin.Pseudo */ +.vc { color: #008080 } /* Name.Variable.Class */ +.vg { color: #008080 } /* Name.Variable.Global */ +.vi { color: #008080 } /* Name.Variable.Instance */ +.il { color: #009999 } /* Literal.Number.Integer.Long */ diff --git a/exampleSite/public/css/reset.css b/exampleSite/public/css/reset.css new file mode 100644 index 0000000..87df836 --- /dev/null +++ b/exampleSite/public/css/reset.css @@ -0,0 +1,48 @@ +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} diff --git a/exampleSite/public/fixed/index.html b/exampleSite/public/fixed/index.html new file mode 100644 index 0000000..5e4744a --- /dev/null +++ b/exampleSite/public/fixed/index.html @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + Fixeds + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
Nishanth Shanmugham
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+
+ + Fixeds + +
+ +
    + +
  • +
    Aug 22, 2015
    +
    About
    +
  • + + +
  • +
    Aug 22, 2015
    +
    colophon
    +
  • + + +
  • +
    Aug 19, 2015
    +
    Code
    +
  • + + +
+
+
+
+ + + + + + + + + + + diff --git a/exampleSite/public/fixed/index.xml b/exampleSite/public/fixed/index.xml new file mode 100644 index 0000000..1c827a0 --- /dev/null +++ b/exampleSite/public/fixed/index.xml @@ -0,0 +1,73 @@ + + + + Fixeds on Nishanth Shanmugham + http://localhost:1313/fixed/ + Recent content in Fixeds on Nishanth Shanmugham + Hugo -- gohugo.io + en-US + Sat, 22 Aug 2015 06:42:21 -0700 + + + + About + http://localhost:1313/about/ + Sat, 22 Aug 2015 06:42:21 -0700 + + http://localhost:1313/about/ + <p>I&rsquo;m a software engineer and student at UT Austin. I primarily program in JavaScript. I currently work at Evernote. I also teach a web development class as part of <a href="//cs.utexas.edu/users/mad">MAD</a>, a computer science campus organization.</p> + +<p>I love soccer and mediterranean food. You can find recent open source work on <a target="_blank" href="//github.com/nishanths">GitHub</a>.</p> + +<p>Please feel free to get in touch at <a href="mailto:nishanths@utexas.edu">nishanths@utexas.edu</a>.</p> + +<p><img src="//s.gravatar.com/avatar/9e766e4880d9a79fd1244c1b04dc31fe?size=4096&default=retro" class="profile"></p> + +<p><br /></p> + +<p><a href="colophon/">About this site</a></p> + + + + + colophon + http://localhost:1313/colophon/ + Sat, 22 Aug 2015 06:28:26 -0700 + + http://localhost:1313/colophon/ + <p>This website is the place where I write about JavaScript, git, and tech. It is also a personal homepage.</p> + +<p>The site is built with <a target="_blank" href="//gohugo.io">Hugo</a>—a static site generator made with Go and is hosted on GitHub Pages. The website <a target="_blank" href="//github.com/nishanths/nishanths.me">source code</a> is available on GitHub. It uses the <a target="_blank" href="//github.com/nishanths/cocoa-hugo-theme">cocoa</a> theme. The posts are written in Markdown.</p> + +<p>The primary font face is Proxima Nova and the monospace font face is Ubuntu Mono. The social icons are from the Ionicons font set. CSS classes for code syntax highlighting are inserted during compile-time by Hugo using Pygments.</p> + +<p>If you find errors, <a href="https://github.com/nishanths/nishanths.me/issues/new">please let me know</a>.</p> + + + + + Code + http://localhost:1313/code/ + Wed, 19 Aug 2015 20:29:37 -0700 + + http://localhost:1313/code/ + <ul> +<li><a href="https://github.com/nishanths/iterators.js">iterators.js</a>: Useful functional iterators for node and the browser</li> +<li><a href="https://github.com/nishanths/spitfire-live">Spitfire</a>: HackTX 2015, Winner – a real-time rhyming assistant</li> +<li><a href="https://github.com/nishanths/markdown-viewer-component">markdown-viewer-component</a>: Web Component that renders Markdown placed inside an element as HTML</li> +<li><a href="https://github.com/nishanths/cocoa-hugo-theme">cocoa-hugo-theme</a>: Distraction-free reading theme for Hugo, the static site generator</li> +<li><a href="https://github.com/nishanths/slack-texts">slack-texts</a>: Important channel messages also sent to your phone via SMS</li> +<li><a href="https://github.com/nishanths/YWeatherAPI">YWeatherAPI</a>: Powerful Yahoo! Weather API wrapper for Mac and iOS</li> +<li><a href="https://github.com/utcsmad/umad-website-2015">uMAD 2015</a>: Website for the student developer conference built with Middleman</li> +<li><a href="https://github.com/nishanths/what-s-playing">What&rsquo;s Playing</a>: Desktop notifications for online music playback changes</li> +<li><a href="https://github.com/nishanths/QuickCal">QuickCal</a>: Highlight and add dates from any website to Google Calendar</li> +<li><a href="https://github.com/nishanths/youtube-pause-chrome">YouTube Pause</a>: Spacebar pauses the video instead of scrolling down the page. <a href="http://www.cnet.com/how-to/chrome-pause-youtube-videos-with-the-spacebar/">CNET</a></li> +<li><a href="https://duckduckgo.com/?q=ISBN+number+0-06-250217-4&amp;ia=books">ISBN Search</a>: DuckDuckGo module to lookup book information by ISBN</li> +<li><a href="https://duckduckgo.com/?q=html+encode+the+paragraph+sign&amp;ia=answer">HTML Entities Encoder &amp;</a> <a href="https://duckduckgo.com/?q=decoded+html+for+%26%23x00a5%3B&amp;ia=answer">Decoder</a>: Encode and decode HTML entities on DuckDuckGo using natural queries</li> +<li><a href="https://github.com/nishanths/auto-browser">Auto-Browser</a>: HackTX 2014, Top 10</li> +</ul> + + + + + \ No newline at end of file diff --git a/exampleSite/public/img/favicon.ico b/exampleSite/public/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..63d51a5c7068e90cfcfc56a0395b2c96e1e7fde3 GIT binary patch literal 370070 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 literal 0 HcmV?d00001 diff --git a/exampleSite/public/img/leaf.ico b/exampleSite/public/img/leaf.ico new file mode 100644 index 0000000000000000000000000000000000000000..f16a5816326e03ddefa6b17daee1da5bbd108d1a GIT binary patch literal 370070 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 + + + + + + + + + + + + + + + Nishanth Shanmugham + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
Nishanth Shanmugham
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+
Posts
+ +
+
+
+ + + + + + + + + + + diff --git a/exampleSite/public/index.xml b/exampleSite/public/index.xml new file mode 100644 index 0000000..56c4f6a --- /dev/null +++ b/exampleSite/public/index.xml @@ -0,0 +1,212 @@ + + + + Nishanth Shanmugham + http://localhost:1313/ + Recent content on Nishanth Shanmugham + Hugo -- gohugo.io + en-US + Tue, 25 Aug 2015 17:09:14 -0500 + + + + Use @ instead of HEAD + http://localhost:1313/posts/use-at-instead-of-head/ + Tue, 25 Aug 2015 17:09:14 -0500 + + http://localhost:1313/posts/use-at-instead-of-head/ + <p>I recently discovered that from git version <a href="https://github.com/git/git/blob/master/Documentation/RelNotes/1.8.5.txt#L100">1.8.5</a> onwards, <code>@</code> can replace <code>HEAD</code>:</p> + +<p><div class="highlight"><pre><span class="nv">$ </span>git reset --hard @~2 +<span class="nv">$ </span>git rebase -i @~10 +<span class="nv">$ </span>git diff @~2..@~3 +</pre></div> +</p> + +<p>And also in most scenarios <code>HEAD</code> can be left out completely, so you can say:</p> + +<p><div class="highlight"><pre><span class="nv">$ </span>git reset -- @<span class="o">{</span>2<span class="o">}</span> +</pre></div> +</p> + +<p>instead of:</p> + +<p><div class="highlight"><pre><span class="nv">$ </span>git reset -- HEAD@<span class="o">{</span>2<span class="o">}</span> +</pre></div> +</p> + +<p>It takes some getting used to, but it&rsquo;s definitely faster than typing <code>HEAD</code>.</p> + + + + + Redirect webpages using HTML + http://localhost:1313/posts/redirect-webpages-html/ + Sat, 22 Aug 2015 15:45:30 -0700 + + http://localhost:1313/posts/redirect-webpages-html/ + + +<p>Webpage redirection is great for automatically redirecting people visiting an old URL to a new URL where the content has moved to. It can be done using JavaScript, but there is also a convenient HTML-only solution.</p> + +<p>To redirect visitors reaching <code>yourwebsite.com/blog</code> to <code>yourwebsite.com/posts</code>, add this to the <code>&lt;head&gt;</code> section of the HTML at <code>yourwebsite.com/blog</code>:</p> + +<p><div class="highlight"><pre><span class="nt">&lt;meta</span> <span class="na">http-equiv=</span><span class="s">&quot;refresh&quot;</span> <span class="na">content=</span><span class="s">&quot;0;url=&#39;/posts&#39;&quot;</span> <span class="nt">/&gt;</span> +<span class="nt">&lt;link</span> <span class="na">rel=</span><span class="s">&quot;canonical&quot;</span> <span class="na">href=</span><span class="s">&quot;/posts&quot;</span> <span class="nt">/&gt;</span> +</pre></div> +</p> + +<h3 id="walkthrough:afdc852818bb97af4efb4d34b2fcce3b">walkthrough</h3> + +<p>Setting <code>http-equiv=&quot;refresh&quot;</code> in the first line performs the actual redirect. The number in the <code>content</code> attribute specified in seconds tells the browser how long to wait before redirecting. In this example, <code>0</code> redirects immediately. Increasing the wait may be useful for briefly displaying a 404 page before automatically switching to the home page. The <code>url</code> specfies the destination for the redirect. In this example, we wanted to switch to <code>/posts</code>.</p> + +<p>The second line is optional; it helps search engines know which the preferred version of the page is. Usually, this is the redirect destination.</p> + + + + + About + http://localhost:1313/about/ + Sat, 22 Aug 2015 06:42:21 -0700 + + http://localhost:1313/about/ + <p>I&rsquo;m a software engineer and student at UT Austin. I primarily program in JavaScript. I currently work at Evernote. I also teach a web development class as part of <a href="//cs.utexas.edu/users/mad">MAD</a>, a computer science campus organization.</p> + +<p>I love soccer and mediterranean food. You can find recent open source work on <a target="_blank" href="//github.com/nishanths">GitHub</a>.</p> + +<p>Please feel free to get in touch at <a href="mailto:nishanths@utexas.edu">nishanths@utexas.edu</a>.</p> + +<p><img src="//s.gravatar.com/avatar/9e766e4880d9a79fd1244c1b04dc31fe?size=4096&default=retro" class="profile"></p> + +<p><br /></p> + +<p><a href="colophon/">About this site</a></p> + + + + + colophon + http://localhost:1313/colophon/ + Sat, 22 Aug 2015 06:28:26 -0700 + + http://localhost:1313/colophon/ + <p>This website is the place where I write about JavaScript, git, and tech. It is also a personal homepage.</p> + +<p>The site is built with <a target="_blank" href="//gohugo.io">Hugo</a>—a static site generator made with Go and is hosted on GitHub Pages. The website <a target="_blank" href="//github.com/nishanths/nishanths.me">source code</a> is available on GitHub. It uses the <a target="_blank" href="//github.com/nishanths/cocoa-hugo-theme">cocoa</a> theme. The posts are written in Markdown.</p> + +<p>The primary font face is Proxima Nova and the monospace font face is Ubuntu Mono. The social icons are from the Ionicons font set. CSS classes for code syntax highlighting are inserted during compile-time by Hugo using Pygments.</p> + +<p>If you find errors, <a href="https://github.com/nishanths/nishanths.me/issues/new">please let me know</a>.</p> + + + + + Code + http://localhost:1313/code/ + Wed, 19 Aug 2015 20:29:37 -0700 + + http://localhost:1313/code/ + <ul> +<li><a href="https://github.com/nishanths/iterators.js">iterators.js</a>: Useful functional iterators for node and the browser</li> +<li><a href="https://github.com/nishanths/spitfire-live">Spitfire</a>: HackTX 2015, Winner – a real-time rhyming assistant</li> +<li><a href="https://github.com/nishanths/markdown-viewer-component">markdown-viewer-component</a>: Web Component that renders Markdown placed inside an element as HTML</li> +<li><a href="https://github.com/nishanths/cocoa-hugo-theme">cocoa-hugo-theme</a>: Distraction-free reading theme for Hugo, the static site generator</li> +<li><a href="https://github.com/nishanths/slack-texts">slack-texts</a>: Important channel messages also sent to your phone via SMS</li> +<li><a href="https://github.com/nishanths/YWeatherAPI">YWeatherAPI</a>: Powerful Yahoo! Weather API wrapper for Mac and iOS</li> +<li><a href="https://github.com/utcsmad/umad-website-2015">uMAD 2015</a>: Website for the student developer conference built with Middleman</li> +<li><a href="https://github.com/nishanths/what-s-playing">What&rsquo;s Playing</a>: Desktop notifications for online music playback changes</li> +<li><a href="https://github.com/nishanths/QuickCal">QuickCal</a>: Highlight and add dates from any website to Google Calendar</li> +<li><a href="https://github.com/nishanths/youtube-pause-chrome">YouTube Pause</a>: Spacebar pauses the video instead of scrolling down the page. <a href="http://www.cnet.com/how-to/chrome-pause-youtube-videos-with-the-spacebar/">CNET</a></li> +<li><a href="https://duckduckgo.com/?q=ISBN+number+0-06-250217-4&amp;ia=books">ISBN Search</a>: DuckDuckGo module to lookup book information by ISBN</li> +<li><a href="https://duckduckgo.com/?q=html+encode+the+paragraph+sign&amp;ia=answer">HTML Entities Encoder &amp;</a> <a href="https://duckduckgo.com/?q=decoded+html+for+%26%23x00a5%3B&amp;ia=answer">Decoder</a>: Encode and decode HTML entities on DuckDuckGo using natural queries</li> +<li><a href="https://github.com/nishanths/auto-browser">Auto-Browser</a>: HackTX 2014, Top 10</li> +</ul> + + + + + + http://localhost:1313/about-this-site/ + Mon, 01 Jan 0001 00:00:00 +0000 + + http://localhost:1313/about-this-site/ + <!DOCTYPE html> +<html> + <head> + <link rel="canonical" href="http://localhost:1313/colophon"/> + <meta http-equiv="content-type" content="text/html; charset=utf-8"/> + <meta http-equiv="refresh" content="0;url=/colophon"/> + </head> +</html> + + + + + + http://localhost:1313/blog/ + Mon, 01 Jan 0001 00:00:00 +0000 + + http://localhost:1313/blog/ + <!DOCTYPE html> +<html> + <head> + <link rel="canonical" href="http://localhost:1313/posts"/> + <meta http-equiv="content-type" content="text/html; charset=utf-8"/> + <meta http-equiv="refresh" content="0;url=/posts"/> + </head> +</html> + + + + + + http://localhost:1313/projects/ + Mon, 01 Jan 0001 00:00:00 +0000 + + http://localhost:1313/projects/ + <!DOCTYPE html> +<html> + <head> + <link rel="canonical" href="http://localhost:1313/code"/> + <meta http-equiv="content-type" content="text/html; charset=utf-8"/> + <meta http-equiv="refresh" content="0;url=/code"/> + </head> +</html> + + + + + + http://localhost:1313/resume/ + Mon, 01 Jan 0001 00:00:00 +0000 + + http://localhost:1313/resume/ + <!DOCTYPE html> +<html> + <head> + <meta http-equiv="content-type" content="text/html; charset=utf-8"/> + <meta http-equiv="refresh" content="0;url=//cl.ly/0v2m3E0c0p2t/shanmugham-resume.pdf"/> + </head> +</html> + + + + + + http://localhost:1313/writing/ + Mon, 01 Jan 0001 00:00:00 +0000 + + http://localhost:1313/writing/ + <!DOCTYPE html> +<html> + <head> + <link rel="canonical" href="http://localhost:1313/posts"/> + <meta http-equiv="content-type" content="text/html; charset=utf-8"/> + <meta http-equiv="refresh" content="0;url=/posts"/> + </head> +</html> + + + + + \ No newline at end of file diff --git a/exampleSite/public/posts/index.html b/exampleSite/public/posts/index.html new file mode 100644 index 0000000..5b0ee48 --- /dev/null +++ b/exampleSite/public/posts/index.html @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + Posts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
Nishanth Shanmugham
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+
+ + Posts + +
+ + +
+
+
+ + + + + + + + + + + diff --git a/exampleSite/public/posts/index.xml b/exampleSite/public/posts/index.xml new file mode 100644 index 0000000..4b48666 --- /dev/null +++ b/exampleSite/public/posts/index.xml @@ -0,0 +1,68 @@ + + + + Posts on Nishanth Shanmugham + http://localhost:1313/posts/ + Recent content in Posts on Nishanth Shanmugham + Hugo -- gohugo.io + en-US + Tue, 25 Aug 2015 17:09:14 -0500 + + + + Use @ instead of HEAD + http://localhost:1313/posts/use-at-instead-of-head/ + Tue, 25 Aug 2015 17:09:14 -0500 + + http://localhost:1313/posts/use-at-instead-of-head/ + <p>I recently discovered that from git version <a href="https://github.com/git/git/blob/master/Documentation/RelNotes/1.8.5.txt#L100">1.8.5</a> onwards, <code>@</code> can replace <code>HEAD</code>:</p> + +<p><div class="highlight"><pre><span class="nv">$ </span>git reset --hard @~2 +<span class="nv">$ </span>git rebase -i @~10 +<span class="nv">$ </span>git diff @~2..@~3 +</pre></div> +</p> + +<p>And also in most scenarios <code>HEAD</code> can be left out completely, so you can say:</p> + +<p><div class="highlight"><pre><span class="nv">$ </span>git reset -- @<span class="o">{</span>2<span class="o">}</span> +</pre></div> +</p> + +<p>instead of:</p> + +<p><div class="highlight"><pre><span class="nv">$ </span>git reset -- HEAD@<span class="o">{</span>2<span class="o">}</span> +</pre></div> +</p> + +<p>It takes some getting used to, but it&rsquo;s definitely faster than typing <code>HEAD</code>.</p> + + + + + Redirect webpages using HTML + http://localhost:1313/posts/redirect-webpages-html/ + Sat, 22 Aug 2015 15:45:30 -0700 + + http://localhost:1313/posts/redirect-webpages-html/ + + +<p>Webpage redirection is great for automatically redirecting people visiting an old URL to a new URL where the content has moved to. It can be done using JavaScript, but there is also a convenient HTML-only solution.</p> + +<p>To redirect visitors reaching <code>yourwebsite.com/blog</code> to <code>yourwebsite.com/posts</code>, add this to the <code>&lt;head&gt;</code> section of the HTML at <code>yourwebsite.com/blog</code>:</p> + +<p><div class="highlight"><pre><span class="nt">&lt;meta</span> <span class="na">http-equiv=</span><span class="s">&quot;refresh&quot;</span> <span class="na">content=</span><span class="s">&quot;0;url=&#39;/posts&#39;&quot;</span> <span class="nt">/&gt;</span> +<span class="nt">&lt;link</span> <span class="na">rel=</span><span class="s">&quot;canonical&quot;</span> <span class="na">href=</span><span class="s">&quot;/posts&quot;</span> <span class="nt">/&gt;</span> +</pre></div> +</p> + +<h3 id="walkthrough:afdc852818bb97af4efb4d34b2fcce3b">walkthrough</h3> + +<p>Setting <code>http-equiv=&quot;refresh&quot;</code> in the first line performs the actual redirect. The number in the <code>content</code> attribute specified in seconds tells the browser how long to wait before redirecting. In this example, <code>0</code> redirects immediately. Increasing the wait may be useful for briefly displaying a 404 page before automatically switching to the home page. The <code>url</code> specfies the destination for the redirect. In this example, we wanted to switch to <code>/posts</code>.</p> + +<p>The second line is optional; it helps search engines know which the preferred version of the page is. Usually, this is the redirect destination.</p> + + + + + \ No newline at end of file diff --git a/exampleSite/public/posts/redirect-webpages-html/index.html b/exampleSite/public/posts/redirect-webpages-html/index.html new file mode 100644 index 0000000..4eedaee --- /dev/null +++ b/exampleSite/public/posts/redirect-webpages-html/index.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + Redirect webpages using HTML + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
Nishanth Shanmugham
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+
+
+
+ +
+
Aug 22, 2015
+
1 minute read
+
+
+
+ + +

Webpage redirection is great for automatically redirecting people visiting an old URL to a new URL where the content has moved to. It can be done using JavaScript, but there is also a convenient HTML-only solution.

+ +

To redirect visitors reaching yourwebsite.com/blog to yourwebsite.com/posts, add this to the <head> section of the HTML at yourwebsite.com/blog:

+ +

<meta http-equiv="refresh" content="0;url='/posts'" />
+<link rel="canonical" href="/posts" />
+
+

+ +

walkthrough

+ +

Setting http-equiv="refresh" in the first line performs the actual redirect. The number in the content attribute specified in seconds tells the browser how long to wait before redirecting. In this example, 0 redirects immediately. Increasing the wait may be useful for briefly displaying a 404 page before automatically switching to the home page. The url specfies the destination for the redirect. In this example, we wanted to switch to /posts.

+ +

The second line is optional; it helps search engines know which the preferred version of the page is. Usually, this is the redirect destination.

+ +
+

Back to posts

+
+
+
+
+ + + + + + + + + + + diff --git a/exampleSite/public/posts/use-at-instead-of-head/index.html b/exampleSite/public/posts/use-at-instead-of-head/index.html new file mode 100644 index 0000000..6e53977 --- /dev/null +++ b/exampleSite/public/posts/use-at-instead-of-head/index.html @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + Use @ instead of HEAD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
Nishanth Shanmugham
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+
+
+
+ +
+
Aug 25, 2015
+
1 minute read
+
+
+
+

I recently discovered that from git version 1.8.5 onwards, @ can replace HEAD:

+ +

$ git reset --hard @~2
+$ git rebase -i @~10
+$ git diff @~2..@~3
+
+

+ +

And also in most scenarios HEAD can be left out completely, so you can say:

+ +

$ git reset -- @{2}
+
+

+ +

instead of:

+ +

$ git reset -- HEAD@{2}
+
+

+ +

It takes some getting used to, but it’s definitely faster than typing HEAD.

+ +
+

Back to posts

+
+
+
+
+ + + + + + + + + + + diff --git a/exampleSite/public/projects/index.html b/exampleSite/public/projects/index.html new file mode 100644 index 0000000..57ed6e7 --- /dev/null +++ b/exampleSite/public/projects/index.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/exampleSite/public/resume/index.html b/exampleSite/public/resume/index.html new file mode 100644 index 0000000..0977b07 --- /dev/null +++ b/exampleSite/public/resume/index.html @@ -0,0 +1,7 @@ + + + + + + + diff --git a/exampleSite/public/sitemap.xml b/exampleSite/public/sitemap.xml new file mode 100644 index 0000000..3fb90e7 --- /dev/null +++ b/exampleSite/public/sitemap.xml @@ -0,0 +1,55 @@ + + + + + http://localhost:1313/ + 2015-08-25T17:09:14-05:00 + 0 + + + + http://localhost:1313/posts/use-at-instead-of-head/ + 2015-08-25T17:09:14-05:00 + + + + http://localhost:1313/posts/redirect-webpages-html/ + 2015-08-22T15:45:30-07:00 + + + + http://localhost:1313/about/ + 2015-08-22T06:42:21-07:00 + + + + http://localhost:1313/colophon/ + 2015-08-22T06:28:26-07:00 + + + + http://localhost:1313/code/ + 2015-08-19T20:29:37-07:00 + + + + http://localhost:1313/about-this-site/ + + + + http://localhost:1313/blog/ + + + + http://localhost:1313/projects/ + + + + http://localhost:1313/resume/ + + + + http://localhost:1313/writing/ + + + \ No newline at end of file diff --git a/exampleSite/public/writing/index.html b/exampleSite/public/writing/index.html new file mode 100644 index 0000000..2669858 --- /dev/null +++ b/exampleSite/public/writing/index.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/exampleSite/static/img/leaf.ico b/exampleSite/static/img/leaf.ico new file mode 100644 index 0000000000000000000000000000000000000000..f16a5816326e03ddefa6b17daee1da5bbd108d1a GIT binary patch literal 370070 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