hugo/parser/pageparser
Bjørn Erik Pedersen 9cd54cab20 Move the emoji parsing to pageparser
This avoids double parsing the page content when `enableEmoji=true`.

This commit also adds some general improvements to the parser, making it in general much faster:

```bash
benchmark                     old ns/op     new ns/op     delta
BenchmarkShortcodeLexer-4     90258         101730        +12.71%
BenchmarkParse-4              148940        15037         -89.90%

benchmark                     old allocs     new allocs     delta
BenchmarkShortcodeLexer-4     456            700            +53.51%
BenchmarkParse-4              28             33             +17.86%

benchmark                     old bytes     new bytes     delta
BenchmarkShortcodeLexer-4     69875         81014         +15.94%
BenchmarkParse-4              8128          8304          +2.17%
```

Running some site benchmarks with Emoji support turned on:

```bash
benchmark                                                                                     old ns/op     new ns/op     delta
BenchmarkSiteBuilding/TOML,num_langs=3,num_pages=5000,tags_per_page=5,shortcodes,render-4     924556797     818115620     -11.51%

benchmark                                                                                     old allocs     new allocs     delta
BenchmarkSiteBuilding/TOML,num_langs=3,num_pages=5000,tags_per_page=5,shortcodes,render-4     4112613        4133787        +0.51%

benchmark                                                                                     old bytes     new bytes     delta
BenchmarkSiteBuilding/TOML,num_langs=3,num_pages=5000,tags_per_page=5,shortcodes,render-4     426982864     424363832     -0.61%
```

Fixes #5534
2018-12-20 20:08:01 +01:00
..
item.go Move the emoji parsing to pageparser 2018-12-20 20:08:01 +01:00
pagelexer.go Move the emoji parsing to pageparser 2018-12-20 20:08:01 +01:00
pagelexer_intro.go parser/pageparser: Split the page lexer into some more files 2018-12-20 20:08:01 +01:00
pagelexer_shortcode.go parser/pageparser: Split the page lexer into some more files 2018-12-20 20:08:01 +01:00
pagelexer_test.go
pageparser.go Move the emoji parsing to pageparser 2018-12-20 20:08:01 +01:00
pageparser_intro_test.go Move the emoji parsing to pageparser 2018-12-20 20:08:01 +01:00
pageparser_main_test.go Move the emoji parsing to pageparser 2018-12-20 20:08:01 +01:00
pageparser_shortcode_test.go Move the emoji parsing to pageparser 2018-12-20 20:08:01 +01:00
pageparser_test.go Move the emoji parsing to pageparser 2018-12-20 20:08:01 +01:00