Commit graph

7556 commits

Author SHA1 Message Date
bep
2b46f3e51e Do not exit server watch on error
Before this commit any error (typically a YAML typing error in front matter) would exit server on rebuild when running `hugo server -w`.

This is very annoying as it doesn't give you any chance to fix the typo other than doing a manual restart.

This commit fixes that by just logging these errors when these rebuilds happen when changes are detected.

Fixes #781
2015-01-09 12:40:48 +01:00
Anthony Fok
190964c57b [Docs] New Troubleshooting section
With two entries of frequently encountered or obscured troubles so far:

- "Categories with accented characters" Unicode NFC/NFD mismatch
   on Mac OS X (See #739)
- `hugo new` aborts with cryptic EOF error (See #776)
2015-01-08 18:29:05 -07:00
bep
cb909cde5a Google Custom Search: Open link in _parent 2015-01-08 13:42:16 +01:00
Anthony Fok
eba33459dd Add basic Google Custom Search to Hugo docs
Fixes #753
2015-01-08 00:17:01 -07:00
Tatsushi Demachi
d12f6cd775 Fix echoParam template function to accept string key name
This changes `echoParam` template function behavior to accept not only
an array or a slice and its index pair but also a map and its key pair.

This also changes the function that float and uint values are treated as
a valid result type of it.

Fix #771
2015-01-08 02:32:17 +01:00
Jacob Gillespie
c0f54aefe3 Rename to plainIdAnchors 2015-01-05 21:00:22 +01:00
Jacob Gillespie
a0e44bb71d Add Blackfriday: documentIDAnchor documentation 2015-01-05 21:00:22 +01:00
Jacob Gillespie
4adf58cce7 Group both options under Blackfriday: documentIDAnchor 2015-01-05 21:00:22 +01:00
Jacob Gillespie
b7716948bc Add config options: disable footnote anchor prefix and header ID suffix
New config options:

* DisableFootnoteAnchorPrefix - bool - default: false
* DisableHeaderIDSuffix - bool - default: false
2015-01-05 21:00:22 +01:00
philgs
dca6eabaca Add config file example to variables.md
Add a config file example for setting .Site.Params to variables.md. This addresses my confusion in [issue #766](https://github.com/spf13/hugo/issues/766).
2015-01-05 18:51:36 +01:00
philgs
0b7392b3db Update configuration.md
Update configuration.md to show setting variables for .Site.Params in TOML config file
2015-01-05 18:51:36 +01:00
philgs
e6c27f76aa Add example code to Summaries
I was initially confused about how to use summaries. The only example code I found in the docs was on the page for list nodes, but that uses `Render "summary"`, which is for views, not an article summary. I thought a little example here might clarify the issue for future users.
2015-01-05 18:44:25 +01:00
Nathan Youngman
d376314763 use fsnotify 0.9.3
This contains a few fixes (v0.9.1 through v0.9.3) but the same API and few internal changes.

https://github.com/go-fsnotify/fsnotify/blob/master/CHANGELOG.md#v093--2014-12-31

A good first step before switching to v1.
2015-01-05 18:31:51 +01:00
Dave Johnston
a5f5106154 Add in-section Next/Prev content pointers
Conflicts:
	docs/content/meta/release-notes.md
	docs/content/templates/variables.md
2015-01-05 18:26:09 +01:00
bep
837922d32b Add ERROR logging on invalid date and publishdate
Having correct dates is important in Hugo. Previously date parsing errors were swallowed, leading to confusing results.

This commit adds ERROR logging when date or publishdate in front matter cannot be parsed into a time.Time.
2015-01-05 12:44:41 +01:00
Tatsushi Demachi
0d17ee7ed4 Add operator argument to where template function
It allows to use `where` template function like SQL `where` clause.
For example,

    {{ range where .Data.Pages "Type" "!=" "post" }}
        {{ .Content }}
    {{ end }}

Now these operators are implemented:

    =, ==, eq, !=, <>, ne, >=, ge, >, gt, <=, le, <, lt, in, not in

It also fixes `TestWhere` more readable
2015-01-04 12:15:17 +01:00
Austin Ziegler
ae9c25afc0 Implement apply.
- apply seq fn args…
2015-01-02 11:50:22 +01:00
Austin Ziegler
6033abe1e7 Add a chomp function.
- Mostly useful in pipelines.
2015-01-02 11:50:22 +01:00
Austin Ziegler
14e93de8a1 Initialize funcMap in an init function. 2015-01-02 11:50:22 +01:00
Austin Ziegler
6a98d269b5 Hygiene: Reduce copy-pasted code. 2015-01-02 11:50:22 +01:00
Nathan Youngman
c6f4b09f65 always use http scheme for localhost
fixes #758
2015-01-01 23:57:29 +01:00
Bjørn Erik Pedersen
dd1001ceda Merge pull request #762 from bjornerik/fix/revert-revert-menutest
Revert "Temporarily disable failing menu test"
2015-01-01 23:53:24 +01:00
bep
076a475d16 Revert "Temporarily disable failing menu test"
This reverts commit e4a22255cc.
2015-01-01 23:40:14 +01:00
spf13
fb1b795d59 Bumping Travis to test go 1.3 & 1.4 2014-12-30 14:58:48 -05:00
Tom Helmer Hansen
d3c3676161 Fix EOF 2014-12-30 12:28:19 -07:00
Tom Helmer Hansen
ec2566fa95 Add www.thehome.dk to showcase 2014-12-30 12:28:19 -07:00
Tatsushi Demachi
975f4cf126 Refactor tpl codes
- Use indirect function instead of the same code copies
- Fix missing arguments of some test codes
2014-12-29 15:47:50 +01:00
Tatsushi Demachi
fa8ac87d5e Make 'where' template function accepts dot chaining key argument
'where' template function used to accept only each element's struct
field name, method name and map key name as its second argument. This
extends it to accept dot chaining key like 'Params.foo.bar' as the
argument. It evaluates sub elements of each array elements and checks it
matches the third argument value.

Typical use case would be for filtering Pages by user defined front
matter value. For example, to filter pages which have 'Params.foo.bar'
and its value is 'baz', it is used like

    {{ range where .Data.Pages "Params.foo.bar" "baz" }}
        {{ .Content }}
    {{ end }}

It ignores all leading and trailing dots so it can also be used with
".Params.foo.bar"
2014-12-29 12:53:41 +01:00
Anthony Fok
dd5bc0345b [Docs] Mention support for the Ace HTML Template Engine 2014-12-27 00:58:50 -07:00
Anthony Fok
ddf4190114 Docs copyediting: Add more external URLs; add backticks, etc. 2014-12-27 00:50:08 -07:00
Anthony Fok
5792cc3a1a [Docs] Go 1.4+ required for building on Windows
See Issue #688 for more information.
2014-12-26 13:00:14 -07:00
bep
afe5add86e Add anchor ref to Blackfriday doc 2014-12-26 18:11:05 +01:00
Austin Ziegler
5e0a16ea21 Fix a crash for ref page#anchor.
- Remove an improperly shadowed variable.
- Fixes #741.
2014-12-26 18:06:21 +01:00
Bjørn Erik Pedersen
029a3ae79e Merge pull request #742 from bjornerik/doc/blackfriday
Add doc for Blackfriday configuration
2014-12-26 16:56:06 +01:00
Ryan Martinsen
7dacc999f8 Add ability to canonify URLs in rendered XML output. 2014-12-26 16:24:28 +01:00
Anthony Fok
f5a3fb149f Wrap comments helpers package to fit 80-column width
Add an initial space after `//` where appropriate.
Minor copyediting.
2014-12-26 08:07:03 -07:00
bep
a0fe117002 Add doc for Blackfriday configuration
See #686
2014-12-26 16:04:49 +01:00
bep
fbf8bcacc4 Add configurable support for angled quotes
The flag `HTML_SMARTYPANTS_ANGLED_QUOTES` was added to Blackfriday on Black Friday. This configures rendering of double quotes as angled left and right quotes (&laquo;
&raquo;).

Typical use cases would be either or, or combined, but never in the same
document. As an example would be a person from Norway; he has a blog in both
English and Norwegian (his native tongue); he would then configure Blackfriday
to use angled quotes for the Norwegian section, but keep them as reqular
double quotes for the English.

This commit adds configuration support for this new flag, configuration that can be set in the site configuration, but overridden in page front matter.

Fixes #605
2014-12-26 14:31:55 +01:00
bep
bb37698226 Fix unicode menu URLs
Menu urls like /categories/новости-проекта would turn into /categories/d0bdd0bed0b2d0bed181d182d0b8-d0bfd180d0bed0b5d0bad182d0b0, which is illegal, while the directory under the categories/ is created with the original name. It results in 404 not found error.

This commit fixes that by make sure that SanitizeUrl() is called last.

Fixes #719
2014-12-26 13:30:46 +01:00
bep
e4a22255cc Temporarily disable failing menu test 2014-12-26 13:14:06 +01:00
Anthony Fok
0cfdb2e51b Revise README.md: buildDate expects timezone; copyediting
Since commit 3a8c12418a dated 2014-12-09,
commands.buildDate expects `date +%FT%T%z` rather than `date +%FT%T`.
Update README.md accordingly.

Also did a little copyediting.
2014-12-25 21:46:43 -07:00
Anthony Fok
8042e77488 Typo fix: "simple" → "simply" in templates/views.md
Thanks to @paulsullivan for catching that typo!
2014-12-24 16:58:28 -07:00
Anthony Fok
68cea07072 Minor copyediting, no new content added. 2014-12-24 04:59:53 -07:00
Anthony Fok
e3433e6afb Fix long descriptions of benchmark and serve commands 2014-12-24 04:40:48 -07:00
bep
331043b98e Remove noisy Println in test 2014-12-19 14:21:05 +01:00
Derek Perkins
717f702e2f Added delimit & sort template functions, tests and docs 2014-12-18 22:28:12 -05:00
Derek Perkins
8f6f871f53 Added AuthorList, Author, AuthorSocial, SiteSocial, Image and Video structs
Added Page.Author(s) functions
Added schema, opengraph, twitter_cards, google_news metadata templates
Added "" template
2014-12-18 22:26:10 -05:00
Austin Ziegler
fd33e5d202 Documentation for ref and relref.
- Rejigged the weight of the extras/ content for the new crossreferences
  page.
- Used the new {{</*…*/>}} format for documenting highlighting and to
  prevent a warning about the missing `fig` shortcode.
2014-12-18 22:18:37 -05:00
Austin Ziegler
112c3c5c04 Provide (relative) reference funcs & shortcodes.
-   `.Ref` and `.RelRef` take a reference (the logical filename for a
    page, including extension and/or a document fragment ID) and return
    a permalink (or relative permalink) to the referenced document.

    -   If the reference is a page name (such as `about.md`), the page
        will be discovered and the permalink will be returned: `/about/`
    -   If the reference is a page name with a fragment (such as
        `about.md#who`), the page will be discovered and used to add the
        `page.UniqueID()` to the resulting fragment and permalink:
        `/about/#who:deadbeef`.
    -   If the reference is a fragment and `.*Ref` has been called from
        a `Node` or `SiteInfo`, it will be returned as is: `#who`.
    -   If the reference is a fragment and `.*Ref` has been called from
        a `Page`, it will be returned with the page’s unique ID:
        `#who:deadbeef`.

-   `.*Ref` can be called from either `Node`, `SiteInfo` (e.g.,
    `Node.Site`), `Page` objects, or `ShortcodeWithPage` objects in
    templates.

-   `.*Ref` cannot be used in content, so two shortcodes have been
    created to provide the functionality to content: `ref` and `relref`.
    These are intended to be used within markup, like `[Who]({{% ref
    about.md#who %}})` or `<a href="{{% ref about.md#who %}}">Who</a>`.

-   There are also `ref` and `relref` template functions (used to create
    the shortcodes) that expect a `Page` or `Node` object and the
    reference string (e.g., `{{ relref . "about.md" }}` or `{{
    "about.md" | ref . }}`). It actually looks for `.*Ref` as defined on
    `Node` or `Page` objects.

-   Shortcode handling had to use a *differently unique* wrapper in
    `createShortcodePlaceholder` because of the way that the `ref` and
    `relref` are intended to be used in content.
2014-12-18 22:18:36 -05:00
Ahsanul Haque
14bce119b6 Commented helpers package 2014-12-18 22:18:36 -05:00