bep [Thu, 9 Oct 2014 22:57:57 +0000 (00:57 +0200)]
Make First accept any int
TOML and YAML handles integers differently, creating issues when using integer values from configuration or front matter in the First template function.
This currently works in YAML (parses into int), but not in TOML (parses into int64).
Anthony Fok [Tue, 7 Oct 2014 23:52:58 +0000 (17:52 -0600)]
Minor proofreading corrections to Hugo docs
- Add backticks and commas where necessary
- Remove some trailing whitespace
- Add front matter example in TOML
- Fix typo in one of the tags in Showcase
- Add 多说 (Duoshuo) as an alternative to Disqus
- Use internal links (i.e. without gohugo.io) where possible
- Use a colon to set off an example
- Change "it's" to "its" where appropriate
- Use typographical (i.e. curly) apostrophe on the front page
where appropriate
- Capitalize "Github" as "GitHub"
If content pages are fully rendered in a list page, footnotes that use
the same reference (`[^fn]`) will have duplicated anchors. This change
builds on #526 to put the page filename (`Page.File.Name`) as part of
the anchor for a footnote.
This would fix discussion [116](http://discuss.gohugo.io/t/footnote-references-are-duplicated-on-list-pages/116).
- The config file can provide FootnoteAnchorPrefix, which will be used
by blackfriday when rendering to HTML. A value of `q:` has the effect
of making the anchor for a footnote `[^footie]` be `fn:q:footie`. The
default is `""`.
- The config file can provide FootnoteReturnLinkContents, which will be
used by blackfriday when rendering to HTML. A value of `^` has the
effect of making the return link be `^` instead of `[return]`.
Alex Dunn [Mon, 22 Sep 2014 23:58:30 +0000 (16:58 -0700)]
instructions for Homebrew installation
updated installation page of documentation, and changed "Download" button on index.html to scroll to bottom where multiple installation options are featured
getting the scrolldown to work required removing the fixed positioning on #action and on the footer
make the value of the BuildDrafts flag available to templates.This can be useful for if you only want to show some specific information on your local machine and/or when showing drafts.
Alex Dunn [Wed, 10 Sep 2014 16:42:58 +0000 (09:42 -0700)]
more examples and explanation of go templating
Emphasizing to people (like me) who aren't familiar with Go that just because something's not mentioned in the Hugo docs doesn't mean it's not possible
bep [Wed, 10 Sep 2014 10:21:22 +0000 (12:21 +0200)]
Enable soft livereload of CSS and images
Prior to this commit a dummy JavaScript filename was sent to LiveReload when changing a static file (CSS, image etc.), forcing a full browser reload of the page.
This commit fixes this by sending the relative file path of the changed static resource, enabling partial live reloading for CSS- and image-changes. If more than one static file happens to end up in the same changeevent-batch, it will fall back to do a full refresh. To enable this logic, the change events with names ending with ".goutputstream*" is now filtered out as temporary.
Change all uses of sort.Sort to sort.Stable.Using sort.Stable ensures that even if the sort keys are the same, the order of the sort will not randomly change. Using the old sort.Sort, if you had pages with no date, the lists of those pages would randomly reorder every time you regenerate the list, causing spurious changes to the output. Now they'll always get ordered in the same way.
Add Node.Site.Pages to all nodes and ensure all pages from the site exist in the list before processing shortcodes.
Node.Site.Recent is not really just recent pages, but all pages, so I figured it was better to add a new parameter with a more informative name.
I also changed the code slightly so that all pages are added to the list of pages before we start rendering shortcodes... this way you can use a shortcode to refer to another page. Previosuly, this had been broken, because the list ofg pages would not be fully populated while the shortcodes were being processed. The code that does this is not reading from disk or doing any rendering, so it shouldn't take any more time to do.
Anthony Fok [Wed, 3 Sep 2014 00:10:19 +0000 (18:10 -0600)]
A small fix and update to the multilingual example
Enclose `{{ .Content }}` with a `{{ if .IsPage }}` test to avoid
the "Content is not a field of struct type *hugolib.Node" error.
Thanks to @spf13 for the tip! Fixes #366.
Also update example to Hugo v0.12 conventions:
- Convert config.yaml to config.toml to follow what
`hugo new site /path/to/site` generates
- Rename layouts/chrome to layouts/partials
- Convert `template` calls to `partial` calls
- Add .gitignore to ignore the `public` directory
- Add README.md with pointers to discussions in issues
to help bring newcomers up to speed with this multilingual example
Anthony Fok [Tue, 2 Sep 2014 19:05:20 +0000 (13:05 -0600)]
Update example blog to Hugo v0.12 conventions
- Convert config.yaml to config.toml to follow what
"hugo new site /path/to/site" generates
- Rename layouts/chrome to layouts/partials
- Convert "template" calls to "partial" calls
- Minor revisions to the text in example content
- Upgrade Bootswatch Yeti theme (3.1.1+1 → to 3.2.0+3)
- Upgrade Font Awesome (4.0.3 → 4.2.0)
- Upgrade jQuery (1.11.0 → 1.11.1)
Anthony Fok [Sun, 31 Aug 2014 09:43:25 +0000 (03:43 -0600)]
Fix loading of Lato font in style.css for docs
The "@import url()" statement for loading Lato from Google Fonts
was ignored because "@import are not allowed after any valid statement
other than @charset and @import" according to the W3C CSS Validator.
Also remove the line for importing line-icons.css which no longer
exists.
Nate Finch [Fri, 29 Aug 2014 17:40:21 +0000 (13:40 -0400)]
Fix CreatePages
This fixes #450. There are two problems:
1.) We're creating a new goroutine for every page.
2.) We're calling s.Pages = append(s.Pages, page) inside each goroutine.
1 is a problem if in that if you have a ton of pages, that's a ton of goroutines. It's not really useful to have more than a few goroutines at a time, and lots can actually make your code much slower, and, evidently, crash.
2 is a problem in that append is not thread safe. Sometimes it returns a new slice with a larger capacity, when the original slice isn't large enough. This can cause problems if two goroutines do this at the same time.
The solution for 1 is to use a limited number of workers (I chose 2*GOMAXPROCS as a nice guess).
The solution for 2 is to serialize access to s.Pages, which I did by doing it in a single goroutine.
Nate Finch [Fri, 22 Aug 2014 11:59:59 +0000 (07:59 -0400)]
Support subdir in baseurl.
Mainly this was a change to helpers.MakePermalink, but to get the local server to run correctly,
we needed to redirect the path of the request from /foo to /. In addition, I added tests for the
server's code for fixing up the base url with different config file & CLI options.
Joel Scoble [Sat, 23 Aug 2014 21:12:36 +0000 (16:12 -0500)]
added functionality to check the error message returned from Cobra, if any. for uage message text. If its present, the usage message gets truncated and the resulting message is returned to be used for the rest of the error message. If the resulting error is blank, no error message is printed