Bjørn Erik Pedersen
de8fc8761a
Re-render shortcode on template or data file change
...
Fixes #1971
2016-03-21 21:09:25 -04:00
Bjørn Erik Pedersen
02effd9dc4
Protect against concurrent Scratch read and write
...
Fixes #2005
2016-03-21 20:42:27 +01:00
Bjørn Erik Pedersen
3529152efe
Return early from appendThemeTemplates
2016-03-17 23:36:11 +01:00
Bjørn Erik Pedersen
70739c972e
Remove unnecessary type conversions
2016-03-14 20:35:50 +01:00
Bjørn Erik Pedersen
dea185aa9b
hugolib: Remove unused code
2016-03-14 15:41:03 +01:00
Bjørn Erik Pedersen
0fb31e4a82
Create an alias from shortcode.Page.Site to shortcode.Site
...
Fixes #1976
2016-03-14 14:10:15 +01:00
Bjørn Erik Pedersen
542e220cc4
Make tests green on both Pygments 2.0.2 and 2.1.3
...
See #1969
2016-03-13 22:06:51 +01:00
Bjørn Erik Pedersen
cafb784799
Add emoji support
...
This uses the Emoji map from https://github.com/kyokomi/emoji -- but with a custom replacement implementation.
The built-in are fine for most use cases, but in Hugo we do care about pure speed.
The benchmarks below are skewed in Hugo's direction as the source and result is a byte slice,
Kyokomi's implementation works best with strings.
Curious: The easy-to-use `strings.Replacer` is also plenty fast.
```
BenchmarkEmojiKyokomiFprint-4 20000 86038 ns/op 33960 B/op 117 allocs/op
BenchmarkEmojiKyokomiSprint-4 20000 83252 ns/op 38232 B/op 122 allocs/op
BenchmarkEmojiStringsReplacer-4 100000 21092 ns/op 17248 B/op 25 allocs/op
BenchmarkHugoEmoji-4 500000 5728 ns/op 624 B/op 13 allocs/op
```
Fixes #1891
2016-03-11 15:51:37 -06:00
Ján Koščo
be3519fac0
Use default sitemap configuration for homepage
...
Fixes #1304
2016-03-10 11:02:00 +01:00
Bjørn Erik Pedersen
924028a9be
Fix for page in multiple menus
...
Fixes #1934
2016-03-10 10:31:12 +01:00
Bjørn Erik Pedersen
973393c99e
Create template clone for late template execution
...
Fixing some breaking blogs on Go 1.6
Fixes #1879
2016-03-09 14:37:58 +01:00
Bjørn Erik Pedersen
9896cd0030
Add reference to parent shortcode
...
Fixes #1936
2016-03-09 11:06:40 +01:00
Bjørn Erik Pedersen
c7acc318b5
Add some missing resets on rebuild
...
Fixes #1928
Fixes #1929
2016-03-06 16:33:32 +01:00
Bjørn Erik Pedersen
eaba04e82b
Add list support in Scratch
2016-03-06 15:44:17 +01:00
Bjørn Erik Pedersen
4e32dc80a2
Simplify the IsHome test cases
2016-03-06 00:41:11 +01:00
Bjørn Erik Pedersen
023992abad
Unexport the target handlers
...
These are of no interest outside the package.
2016-03-05 20:56:38 +01:00
Bjørn Erik Pedersen
27f8d8f963
Allow URL with extension in frontmatter
...
Fixes #1923
2016-03-05 20:50:53 +01:00
Bjørn Erik Pedersen
8aa90f2b7e
Try both prepped and unprepped taxonomy keys
...
Fixes #1869
2016-03-03 22:01:09 +01:00
Bjørn Erik Pedersen
ccd2f4c32b
Prevent capitalized taxonomy labels
...
Fixes #1880
2016-03-03 21:54:23 +01:00
Bjørn Erik Pedersen
7f682d7802
Fix shortcode handling in RST
...
Fixes #1904
2016-03-01 11:04:25 +01:00
Bjørn Erik Pedersen
6b922750f3
Revert "Create template clone for late template execution"
...
This reverts commit 93b04e67f6
.
2016-02-28 12:15:33 +01:00
Bjørn Erik Pedersen
93b04e67f6
Create template clone for late template execution
...
Fixing some breaking blogs on Go 1.6
Fixes #1879
2016-02-28 11:51:51 +01:00
Bjørn Erik Pedersen
804603155f
Check for the presence of pages before setting dates
...
See #1903
2016-02-27 23:25:41 +01:00
Bjørn Erik Pedersen
75cf324322
Set Date and Lastmod for main home page
...
Fixes #1903
2016-02-27 23:21:07 +01:00
Bjørn Erik Pedersen
455df10752
Optimize replaceShortcodeTokens
...
We can of course skip reading the entire byte slice again and again.
This was a slip in the original implementation; functionally the same,
but is slightly faster, esp. for larger data sets with many shortcodes:
```
benchmark old ns/op new ns/op delta
BenchmarkReplaceShortcodeTokens-4 15505 14753 -4.85%
benchmark old allocs new allocs delta
BenchmarkReplaceShortcodeTokens-4 1 1 +0.00%
benchmark old bytes new bytes delta
BenchmarkReplaceShortcodeTokens-4 3072 3072 +0.00%
```
2016-02-25 23:50:43 +01:00
Bjørn Erik Pedersen
8375995378
Enlarge data in BenchmarkReplaceShortcodeTokens
2016-02-25 21:45:13 +01:00
Tatsushi Demachi
e9853642e5
Listen channel before sending values to it
...
The 'results' channel is not listend before sending error values in a
loop checking IsRenderable or not. This fixes it.
2016-02-20 14:03:06 +09:00
Bjørn Erik Pedersen
50182cd06b
Remove superfluous Errorf
2016-02-16 02:05:59 +01:00
Derek Perkins
bac1ba4655
Fix spelling and go vet errors
2016-02-13 19:08:48 +08:00
Tatsushi Demachi
2b3b90a6df
Add test for Hugo hanging up with empty content
...
This adds a test for the issue #1797 and its fix in 68e2e63
.
2016-02-08 20:55:19 +09:00
Bjørn Erik Pedersen
05c8bccf84
hugolib: Add test for parseSitemap
2016-02-07 15:56:56 +01:00
Bjørn Erik Pedersen
0f6c8439b9
Add missing menu tests
2016-02-07 13:43:42 +01:00
Bjørn Erik Pedersen
c462440dcd
Add Page tests for simple methods
2016-02-07 13:32:08 +01:00
Bjørn Erik Pedersen
66570d2fb3
Add Node tests for simple methods
2016-02-07 13:18:16 +01:00
Bjørn Erik Pedersen
75044c199f
Add menu sort tests
2016-02-07 12:34:43 +01:00
Bjørn Erik Pedersen
7c3dceeaed
Fix buggy Menu.Limit()
2016-02-06 22:53:59 +01:00
Bjørn Erik Pedersen
a95426d40c
Remove Printf in test
2016-02-06 22:19:58 +01:00
Bjørn Erik Pedersen
88a320fb2d
Fix buggy Pages.Limit
...
Also add missing page sort related tests.
2016-02-06 22:10:36 +01:00
Bjørn Erik Pedersen
318a984526
Apply gofmt -s
2016-02-06 13:09:52 +01:00
Tatsushi Demachi
68e2e63d92
Fix Hugo hang up with empty content directory
...
Site.ReadPagesFromSource returns nil chan error value when a site
content directory is empty but its receiver expects to be passed
something error values via the channel.
This fixes it by returning a channel which will be immediately closed.
Fix #1797
2016-02-03 08:19:02 +09:00
Anthony Fok
57eebbf243
Use FEEDBACK instead of ERROR for empty home page warning
...
jww.ERROR.Println() seems to have become too verbose,
making the warning message intended for new users
a lot less readable.
2016-01-30 17:39:17 +08:00
Bjørn Erik Pedersen
5def6d9aee
Make the watch logger less chatty
2016-01-28 15:33:41 +01:00
Steve Francia
d08e4c87a7
Rewrite commentary on static event handling
2016-01-26 14:56:42 -05:00
Steve Francia
9413cf8499
Handle self rename operations gracefully
2016-01-26 14:33:08 -05:00
Steve Francia
7e196a8294
Handle remove & rename source operations incrementally
2016-01-26 14:30:28 -05:00
Steve Francia
e01c340915
A single file can be replaced in site.Files
2016-01-26 14:29:37 -05:00
Steve Francia
45e5091428
Process only the source content that has changed
2016-01-26 14:28:53 -05:00
Steve Francia
9f3796a31d
Read/reread individual source content files
...
next is incremental conversion
2016-01-26 14:26:23 -05:00
Steve Francia
ca6ca4f4fc
Separate handling content, data and template changes
...
Data & Templates reading independently
Need to work on page source reading and other source files
2016-01-26 14:25:39 -05:00
Steve Francia
bcc42c0549
Separate reading source and processing source operations
2016-01-25 14:41:47 -05:00
Bjørn Erik Pedersen
3526afc773
Fix some Go vet errors
2016-01-16 00:28:48 +01:00
Bjørn Erik Pedersen
78f9bf2444
Add one more menu test
...
See #1774
2016-01-14 17:30:05 +01:00
Bjørn Erik Pedersen
ab70e6f52f
Add menu test for external URL
...
See #1774
2016-01-14 15:14:21 +01:00
Bjørn Erik Pedersen
1ce184b7f1
Add some p-wrap shortcode tests
...
Deliberetely made to pass, even if they (probably) should not.
See #1642
2016-01-09 16:11:38 +01:00
Bjørn Erik Pedersen
48870fef2e
Group vars in paginator
...
It's easier to read.
2016-01-08 22:55:19 +01:00
Ivan Fraixedes
9a6dc6c791
Add embeded template for robots.txt
2016-01-05 23:36:16 +01:00
Daniel Martí
7c5a1fd16b
Replace *bytes.Buffer with io.Writer in rendering
...
Found via github.com/mvdan/interfacer.
2016-01-05 23:32:03 +01:00
Bjørn Erik Pedersen
9ff36c5a8f
Add some trailing newline shortcode tests
...
See #1753
2016-01-04 23:48:05 +01:00
Alexandre Bourget
dcad066025
Small refactor: don't call p.Permalink()
for all aliases, call it only
...
once and only if necessary.
2016-01-04 12:41:06 -05:00
Gerben Castel
6cdb8109cf
Allow renaming of sitemap.xml
2016-01-04 12:28:49 -05:00
Sven Dowideit
0f6b334b67
Source file based relative linking
...
ala GitHub repository markdown for both md files and non-md files
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2016-01-01 15:23:11 -05:00
Sven Dowideit
b78f13b041
Write a simplistic test for site.refLink
...
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2016-01-01 14:50:37 -05:00
digitalcraftsman
47587321d9
Add themesDir option to configuration
...
themesDir can be used to change the default
path of the themes folder.
Fixes 1556
2016-01-01 14:46:40 -05:00
Bjørn Erik Pedersen
7a5a52f468
Clean up the loop counter variables confusion in TestPageCache
...
See #1601
2015-12-19 15:38:28 +01:00
Bjørn Erik Pedersen
9edc58a03a
Fix failing template related tests in Go 1.6
...
Fixes #1470
2015-12-18 15:28:43 +01:00
Bjørn Erik Pedersen
8cea428802
Fix data race in non-renderable pages
...
Fixes #1601
2015-12-18 11:24:35 +01:00
Bjørn Erik Pedersen
0c01fef321
Fix 2 data races in TestPageCache
...
See #1601
2015-12-18 09:35:14 +01:00
Bjørn Erik Pedersen
9569d116cb
Duplicate p.Description in Params map
...
Fixes #1484
2015-12-12 22:20:26 +01:00
Anthony Fok
8509727fe8
Add copyright header to that source files that don’t have one.
...
See #1646
2015-12-10 15:19:38 -07:00
Bjørn Erik Pedersen
e445c35d6a
Fix copyright headers in source files
...
Still need to add some missing headers and an AUTHORS file.
See #1646
2015-12-07 19:57:01 +01:00
Anthony Fok
f13db9328b
Sort and remove "" from "Available templates" list
2015-12-06 23:23:54 -07:00
gunnaraasen
d35d82060f
Remove transformation of menu URLs
...
Fixes #1239
2015-12-06 15:25:23 +01:00
Bjørn Erik Pedersen
69c28985ea
Fix broken Highlight test
2015-12-03 12:37:48 +01:00
Bjørn Erik Pedersen
3f0f7eed68
Improve error handling in commands
...
Cobra, the CLI commander in use in Hugo, has some long awaited improvements in the error handling department.
This enables a more centralized error handling approach.
This commit introduces that by changing all the command funcs to `RunE`:
* The core part of the error logging, usage logging and `os.Exit(-1)` is now performed in one place and that one place only.
* The usage text is now only shown on invalid arguments etc. (user errors)
Fixes #1502
2015-12-02 07:07:05 -07:00
Anthony Fok
0d1d33d7f3
Print error when /index.html is zero-length
...
Also print warning (in verbose mode) for other empty pages.
See #947
2015-12-01 21:03:17 -07:00
Anthony Fok
f8302768c7
Run go fmt hugolib/site.go
2015-12-01 21:01:19 -07:00
Steve Francia
f045d7a611
Change the license to Apache 2.0
2015-11-23 22:16:36 -05:00
Kato Kazuyoshi
99acbb2eb2
Permalink on Node and Page should be of string
...
This change fixes #1384 .
2015-11-23 17:41:29 +01:00
Marek Janda
5838420aa1
Move blackfriday site-wide config loading to NewBlackFriday()
2015-11-23 17:35:36 +01:00
Cameron Moore
fde47c5eb9
Add shortcode IsNamedParams property
...
It would be helpful to know whether a shortcode was called with positional or
named parameters. This commit adds a boolean `IsNamedParams` property to the
`ShortcodeWithPage` struct.
2015-11-23 17:17:18 +01:00
Bjørn Erik Pedersen
6fa7f2ac3e
Avoid multiple locks for shortcode template
...
Fixes #1600
2015-11-21 23:29:58 +01:00
Bjørn Erik Pedersen
c5f40e8b8b
Improve RW-locking of template in shortcode handling
...
See #1599
2015-11-21 21:57:26 +01:00
Bjørn Erik Pedersen
58c446f562
Fix recently introduced new data race in the shortcode handling
...
Fixes #1599
2015-11-21 20:03:18 +01:00
Cameron Moore
3abb2675c5
Add RSSLink to SiteInfo
2015-11-20 23:38:15 +01:00
Cameron Moore
05c29ad593
Return error if shortcode template.Tree is nil
...
If a shortcode template fails to compile, the template will be non-nil, but
template.Tree will be nil which caused a panic.
2015-11-20 23:34:30 +01:00
Bjørn Erik Pedersen
b08d9f26ae
Make replaceShortcodeTokens rewrite the input slice
...
Currently a `[]byte` copy is returned. In most cases this is the safe thing to do, but we should just modify/grow the slice as needed.
This is faster and consumes less memory:
```
benchmark old ns/op new ns/op delta
BenchmarkReplaceShortcodeTokens-4 7350 4419 -39.88%
benchmark old allocs new allocs delta
BenchmarkReplaceShortcodeTokens-4 5 1 -80.00%
benchmark old bytes new bytes delta
BenchmarkReplaceShortcodeTokens-4 4816 1152 -76.08%
```
This commit is aso a small spring cleaning of duplicated code in the different `PageConvert` methods.
Fixes #1516
2015-11-17 18:24:17 +01:00
Anthony Fok
18a29964fa
Fix trivial typos in code
2015-11-16 07:15:17 -07:00
spf13
5c1204c24b
simplify rssuri logic
2015-11-15 11:05:16 -05:00
Bjørn Erik Pedersen
53a5932fa4
Get rid of allocation in the BenchmarkReplaceShortcodeTokens itself
...
So we can see the real numbers.
See #1516
2015-11-13 22:37:07 +01:00
Tatsushi Demachi
139be09f17
Fix GroupByParam to return original param string
...
Page.GroupByParam function internally uses Page.GetParam to get a
parameter value for a key of a page group but now Page.GetParam returns
a lowercase character string every time. It has no need to using
lowercase character string as a group key value and it confuse a
function user.
This fixes it to keep and return an original parameter string as a group
key value.
Fix #1564
2015-11-10 14:57:03 +01:00
Bjørn Erik Pedersen
570713a478
Use Identifier as last sort resort for default menu sort
...
Fixes #1562
2015-11-09 21:02:21 +01:00
digitalcraftsman
9dbb6dc50d
Add internal Google Analytics template
...
This commits also adds the GoogleAnalytics
variable to insert the tracking code.
Fixes #1424 .
2015-11-04 17:11:38 -05:00
Bjørn Erik Pedersen
5bda0398e7
Export Page.Layout
...
And at the same time rename and unexport the badly named `Layout()` func. That method is not very usable outside the package.
Fixes #1539
2015-11-02 17:24:50 +01:00
Kato Kazuyoshi
698019a552
Disable LiveReload when Hugo is not running as a server
...
This change fixes #1410 .
2015-10-15 16:36:14 -04:00
Nathan Youngman
bea7b2e202
Fix typo in shortcode tests
2015-10-15 18:00:10 +02:00
Bjørn Erik Pedersen
078fad49e2
Add Param(key) to Node and Page
...
This is a convenience method to do lookups in Page's (Page only) and Site's Params map (Page and Node), in that order.
Fixes #1462
2015-10-12 06:11:01 +02:00
coderzh
823334875d
WordCount and Summary support CJK Language
...
* add global `hasCJKLanguage` flag, if true, turn on auto-detecting CJKLanguage
* add `isCJKLanguage` frontmatter to force specify whether is CJKLanguage or not
* For .Summary: If isCJKLanguage is true, use the runes as basis for truncation, else keep as today.
* For WordCount: If isCJKLanguage is true, use the runes as basis for calculation, else keep as today.
* Unexport RuneCount
Fixes #1377
2015-10-07 15:14:57 +02:00
Bjørn Erik Pedersen
dcd9c69aa8
Use filepath as the last default sort key for pages
2015-09-30 05:43:11 +02:00
Sven Dowideit
a1e32439fb
Allow for any (short) line begining or ending with html comment
...
Fixes #1428
2015-09-25 18:32:32 +02:00
Anthony Fok
e71bef79e5
Validate aliases to prevent directory traversal etc.
...
Add validation before creating aliases:
* Prevent creating aliases outside webroot (public/ dir)
* Skip empty "" alias
* Skip "/" → "/index.html", which gets overwritten anyway
* Refuse to create Windows-invalid filenames on Windows;
warn on other platforms
* In case of invalid aliases, after skipping them,
return `err = nil` to prevent the error passing up
all the way to `hugolib.Render()` and causing Hugo to abort.
* Update alias tests.
Fixes #701 : Add support for alias with whitespace
Fixes #1418 : Add validation for alias
2015-09-13 18:08:42 +02:00