Commit Graph
252 Commits
Author SHA1 Message Date
bep 2ecb85e8b2 Shortcode rewrite, take 2
This commit contains a restructuring and partial rewrite of the shortcode handling.

Prior to this commit rendering of the page content was mingled with handling of the shortcodes. This led to several oddities.

The new flow is:

1. Shortcodes are extracted from page and replaced with placeholders.
2. Shortcodes are processed and rendered
3. Page is processed
4. The placeholders are replaced with the rendered shortcodes

The handling of summaries is also made simpler by this.

This commit also introduces some other chenges:

1. distinction between shortcodes that need further processing and those who do not:

* `{{< >}}`: Typically raw HTML. Will not be processed.
* `{{% %}}`: Will be processed by the page's markup engine (Markdown or (infuture) Asciidoctor)

The above also involves a new shortcode-parser, with lexical scanning inspired by Rob Pike's talk called "Lexical Scanning in Go",
which should be easier to understand, give better error messages and perform better.

2. If you want to exclude a shortcode from being processed (for documentation etc.), the inner part of the shorcode must be commented out, i.e. `{{%/* movie 47238zzb */%}}`. See the updated shortcode section in the documentation for further examples.

The new parser supports nested shortcodes. This isn't new, but has two related design choices worth mentioning:

* The shortcodes will be rendered individually, so If both `{{< >}}` and `{{% %}}` are used in the nested hierarchy, one will be passed through the page's markdown processor, the other not.
* To avoid potential costly overhead of always looking far ahead for a possible closing tag, this implementation looks at the template itself, and is branded as a container with inner content if it contains a reference to `.Inner`

Fixes #565
Fixes #480
Fixes #461

And probably some others.
2014-11-17 18:32:06 -05:00
Michael Henderson 001bb4d895 Update creating-a-new-theme.md 2014-11-13 22:44:31 -05:00
Michael Henderson f10ca3bde0 Update creating-a-new-theme.md 2014-11-13 22:44:31 -05:00
Michael Henderson 4d23a88c65 Update creating-a-new-theme.md
Update heading levels to confirm to the other tutorials. Create a similar front-matter using YAML, since I couldn't figure out how to get the menu:main:parent working as TOML.
2014-11-13 22:44:30 -05:00
Ryan Kimber 8070e5c09f Fixed launchcode5.md description 2014-11-13 22:08:30 -05:00
Ryan Kimber 72a35bf0ef Added launchcode-tn.jpg to docs/static/img 2014-11-13 22:08:29 -05:00
Ryan Kimber 17c2471d5b Create launchcode5.md 2014-11-13 22:08:29 -05:00
bep cc44490ecf Add Git directory deployment flow to tutorial 2014-11-13 12:33:14 -05:00
Mike Dillon 385eb54e92 Fix sourceLink for Hugo 2014-11-01 23:39:49 -04:00
Michael Henderson 0e378de110 Create creating-a-new-theme.md 2014-11-01 23:12:01 -04:00
Justin Calleja 33bd973c49 Fix for issue 583 2014-11-01 23:10:52 -04:00
Kartik Singhal bb49a397e7 Fix broken link 2014-11-01 23:08:48 -04:00
Kartik Singhal 45e4ae58de Minor doc corrections 2014-11-01 23:03:29 -04:00
Joel Scoble 5782ea26d9 added note about pygment example code and markdown processing, updated example 2014-11-01 22:58:44 -04:00
Tatsushi Demachi 00dfcc6477 Add sort and grouping functions for publish date and param of Page
`GroupBy` is modified to allow it to receive a method name argument for
example `Type` as its first argument. It is only allowed to call with
a method which takes no arguments and returns a result or a pair of
a result and an error.

The functions discussed at #443 are also added

- `ByPublishDate`: Order contents by `PublishDate` front matter variable
- `GroupByPublishDate(format, order)`: Group contents by `PublishDate`
  front matter variable formatted in string like `GroupByDate`
- `GroupByParam(key, order)`: Group contents by `Param` front matter
  variable specified by `key` argument
- `GroupByParamDate(key, format, order)`: Group contents by `Param`
  front matter variable specified by `key` argument and formatted in
  string like `GroupByDate`. It's effective against `time.Time` type
  front matter variable
2014-11-01 22:41:04 -04:00
Joel Scoble 3f94f6cb58 update summary doc 2014-11-01 22:27:54 -04:00
Joel Scoble ad62f8a5a4 #463 add summary.md page 2014-11-01 22:27:47 -04:00
spf13 15eca973bb Big refactor of how source files are used. Also added default destination extension option. 2014-10-16 20:20:09 -04:00
Will Stevens e2b91316a5 added docs for 'intersect' and 'in' template functions 2014-10-15 12:30:10 -04:00
Anthony Fok 60092aa377 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"
2014-10-15 12:18:20 -04:00
bep 81781d6751 Document manual breakpoint of .Summary
The use of <!--more--> to set the breakpoint for the generated page summary is mentioned in a release note, but not in the doc itself.

Very useful - and it leaves the formatting in place.
2014-10-15 12:15:59 -04:00
Austin Ziegler 30e288626c Configure footnote rendering.
- 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]`.
2014-10-07 16:43:33 -04:00
Jorin Vogel 09a4c3282a Mention .Params and .Page variables in shortcode docs. Also highlight variables. 2014-10-02 13:53:36 -04:00
Aurelius Prochazka ab67500e75 Removed text from code block. 2014-10-02 13:45:47 -04:00
Kartik Singhal ced9343584 Switch to new hompage 2014-10-02 13:39:59 -04:00
Austin Ziegler 6d61f7c022 Make taxonomy documentation match the example. 2014-09-24 14:56:53 -04:00
Kartik Singhal 2b6a82db4f Make highlight.js example clearer
Provide the missing step to actually use the library. Should be helpful for a newbie.
2014-09-24 14:56:44 -04:00
spf13 155148a2b5 Making the install on the homepage a bit more clear 2014-09-22 22:08:08 -04:00
Alex Dunn 523a97ed54 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
2014-09-22 21:51:19 -04:00
spf13 bd4d038ab1 Adding a community link to the homepage 2014-09-19 08:32:25 -04:00
spf13 538bd1ae0f switching website to gohugo.io & adding links to discuss 2014-09-18 21:22:04 -04:00
rybi d4cd2bb656 Update urls.md
Corrected the --uglyUrls flag, wouldn't work if lowercase.
2014-09-18 13:06:02 -04:00
Alex Dunn 6ed9848a24 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
2014-09-11 17:22:08 -04:00
Daniel Fairhead 0b2b2909f4 added "eq" function to docs. 2014-09-11 17:02:20 -04:00
Tim Dumol aa03482eb5 Fix typo in Archetypes documentation.
Archetype was spelled archtype in one of the headers.
2014-09-08 11:54:40 -04:00
Anthony Fok 80b8ca4c9f More proofreading and minor revisions to Hugo docs
Among the various changes, most instances of

    {{ template "partials/FILE.html" . }}

were changed to

    {{ partial "FILE.html" . }}

Also, in main.go, change "2013" to "2013-14".
2014-09-08 11:41:10 -04:00
spf13 1d7ecd5ebb Fixing typo in ordering.md fixed #401 2014-09-02 17:09:56 -04:00
spf13 54fc0c69b5 Adding V0.12 release notes 2014-09-01 10:00:45 -04:00
spf13 9ea4c4f2ca Adding a bunch of new quotes to the front page and switching to Owl Carousel 2014-09-01 10:00:06 -04:00
Anthony Fok 9631884971 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.
2014-09-01 08:21:42 -04:00
Anthony Fok 4069d9c6fc Minor proofreading corrections to Hugo docs 2014-09-01 08:19:40 -04:00
Dato Simó 1bc38e9361 Use typographic quote chars in the carousel quotes section
At big font sizes, quotes really become more beautiful with them.
2014-08-30 23:19:22 -04:00
Anthony Fok 770b1f68e3 quickstart.md: Put long options inside backticks
Also minor adjustment to blank lines.
2014-08-30 01:16:18 -04:00
spf13 6d15050341 Adding documentation about 'where' and cleaning up docs around first. 2014-08-30 00:57:38 -04:00
spf13 bb4d67345d Added more examples and cleaned up the GroupBy functionality documentation 2014-08-30 00:21:47 -04:00
spf13 925390ca6f Adding a page listing the different methods available to Taxonomies. 2014-08-29 23:42:26 -04:00
spf13 b0653ac4e1 More taxonomy examples in templates. 2014-08-29 23:41:53 -04:00
spf13 f22a1127f3 Fixing the taxonomy example. Fixed #318. 2014-08-29 23:39:55 -04:00
Jakub Turski e9150d0032 Be more specific about .Params content
I'm not sure whether this is *always* the case, but it's definitely have been my experience so far. :)
2014-08-28 13:04:00 -04:00
Jakub Turski e1ca9c7649 Shortcodes are content files specific.
This fixes spf13/hugo#440.
2014-08-28 12:59:52 -04:00