1
0
mirror of https://github.com/danog/gojekyll.git synced 2024-11-30 04:09:00 +01:00

Add markdown line limit

This commit is contained in:
Oliver Steele 2021-06-19 12:05:10 +08:00
parent c38daebabe
commit 5221168a1a
2 changed files with 52 additions and 17 deletions

View File

@ -1,3 +1,4 @@
default: true
MD013: false
MD013:
tables: false
MD033: false

View File

@ -6,7 +6,10 @@
[![Go Report Card badge][go-report-card-svg]][go-report-card-url]
[![MIT License][license-svg]][license-url]
Gojekyll is a partially-compatible clone of the [Jekyll](https://jekyllrb.com) static site generator, written in the [Go](https://golang.org) programming language. It provides `build` and `serve` commands, with directory watch and live reload.
Gojekyll is a partially-compatible clone of the [Jekyll](https://jekyllrb.com)
static site generator, written in the [Go](https://golang.org) programming
language. It provides `build` and `serve` commands, with directory watch and
live reload.
|   | Gojekyll | Jekyll | Hugo |
|-------------------------|-------------------------------------------|--------|--------------|
@ -51,15 +54,22 @@ gojekyll help build
### Binary Downloads
1. Ubuntu (64-bit) and macOS binaries are available from the [releases page](https://github.com/osteele/gojekyll/releases).
2. [Optional] **Highlight**. To use the `{% highlight %}` tag, you need [Pygments](http://pygments.org): `pip install Pygments`.
3. [Optional] **Themes**. To use a theme, you need to install Ruby and [bundler](http://bundler.io/). Create a `Gemfile` that lists the theme., and run `bundle install`. The [Jekyll theme instructions](https://jekyllrb.com/docs/themes/) provide more detail, and should work for Gojekyll too.
1. Ubuntu (64-bit) and macOS binaries are available from the [releases
page](https://github.com/osteele/gojekyll/releases).
2. [Optional] **Highlight**. To use the `{% highlight %}` tag, you need
[Pygments](http://pygments.org): `pip install Pygments`.
3. [Optional] **Themes**. To use a theme, you need to install Ruby and
[bundler](http://bundler.io/). Create a `Gemfile` that lists the theme., and
run `bundle install`. The [Jekyll theme
instructions](https://jekyllrb.com/docs/themes/) provide more detail, and
should work for Gojekyll too.
### From Source
Pre-requisites:
1. **Install go** (1) via [Homebrew](https://brew.sh): `brew install go`; or (2) [download](https://golang.org/doc/install#tarball).
1. **Install go** (1) via [Homebrew](https://brew.sh): `brew install go`; or (2)
[download](https://golang.org/doc/install#tarball).
2. See items (2-3) under **Binary Downloads**, above, for optional installations.
First-time install:
@ -89,7 +99,8 @@ eval "$(gojekyll --completion-script-zsh)"
This project is at an early stage of development.
It works on the GitHub Pages sites that I care about, and it looks credible on a spot-check of other Jekyll sites.
It works on the GitHub Pages sites that I care about, and it looks credible on a
spot-check of other Jekyll sites.
### Current Limitations
@ -115,7 +126,8 @@ These will probably not change:
By design:
- Plugins must be listed in the config file, not a Gemfile.
- The wrong type in a `_config.yml` file for example, a list where a string is expected, or vice versa is generally an error.
- The wrong type in a `_config.yml` file for example, a list where a string is
expected, or vice versa is generally an error.
- Server live reload is always on.
- `serve --watch` (the default) reloads the `_config.yml` and data files too.
- `serve` generates pages on the fly; it doesn't write to the file system.
@ -124,13 +136,22 @@ By design:
Upstream:
- Markdown:
- `<` and `>` inside markdown is interpreted as HTML. For example, `This is <b>bold</b>` renders as <b>bold</b>. This behavior matches the [Markdown spec](https://daringfireball.net/projects/markdown/syntax#html), but differs from Jekyll's default Kramdown processor.
- The autogenerated id of a header that includes HTML is computed from the text of the title, ignoring its attributes. For example, the id of `## Title (<a href="https://example.com/path/to/details">ref</a>))` is `#title-ref`, not `#title-https-example-path-to-details-ref`.
- Autogenerated header ids replace punctuation by the hyphens, rather than the empty string. For example, the id of `## Either/or` is `#either-or` not `#eitheror`; the id of `## I'm Lucky` is `#i-m-lucky` not `#im-lucky`.
- `<` and `>` inside markdown is interpreted as HTML. For example, `This is
<b>bold</b>` renders as <b>bold</b>. This behavior matches the [Markdown
spec](https://daringfireball.net/projects/markdown/syntax#html), but differs
from Jekyll's default Kramdown processor.
- The autogenerated id of a header that includes HTML is computed from the
text of the title, ignoring its attributes. For example, the id of `## Title
(<a href="https://example.com/path/to/details">ref</a>))` is `#title-ref`,
not `#title-https-example-path-to-details-ref`.
- Autogenerated header ids replace punctuation by the hyphens, rather than the
empty string. For example, the id of `## Either/or` is `#either-or` not
`#eitheror`; the id of `## I'm Lucky` is `#i-m-lucky` not `#im-lucky`.
Muzukashii:
- An extensible plugin mechanism support for plugins that aren't compiled into the executable.
- An extensible plugin mechanism support for plugins that aren't compiled into
the executable.
### Feature Checklist
@ -210,17 +231,30 @@ They are used under the terms of the MIT License.
The theme for in-browser error reporting was adapted from facebookincubator/create-react-app.
The gopher image in the `testdata` directory is from [Wikimedia Commons](https://commons.wikimedia.org/wiki/File:Gophercolor.jpg). It is used under the [Creative Commons Attribution-Share Alike 3.0 Unported license](https://creativecommons.org/licenses/by-sa/3.0/deed.en).
The gopher image in the `testdata` directory is from [Wikimedia
Commons](https://commons.wikimedia.org/wiki/File:Gophercolor.jpg). It is used
under the [Creative Commons Attribution-Share Alike 3.0 Unported
license](https://creativecommons.org/licenses/by-sa/3.0/deed.en).
In addition to being totally and obviously inspired by Jekyll and its plugins, Jekyll's solid *documentation* was indispensible --- especially since I wanted to implement Jekyll as documented, not port its source code. The [Jekyll docs](https://jekyllrb.com/docs/home/) were always open in at least one tab during development.
In addition to being totally and obviously inspired by Jekyll and its plugins,
Jekyll's solid *documentation* was indispensible --- especially since I wanted
to implement Jekyll as documented, not port its source code. The [Jekyll
docs](https://jekyllrb.com/docs/home/) were always open in at least one tab
during development.
## Related
[Hugo](https://gohugo.io) is the pre-eminent Go static site generator. It isn't Jekyll-compatible (-), but it's highly polished, performant, and productized (+++).
[Hugo](https://gohugo.io) is the pre-eminent Go static site generator. It isn't
Jekyll-compatible (-), but it's highly polished, performant, and productized
(+++).
[jkl](https://github.com/drone/jkl) is another Go clone of Jekyll. If I'd found it sooner I might have started this project by forking that one. It's got a better name.
[jkl](https://github.com/drone/jkl) is another Go clone of Jekyll. If I'd found
it sooner I might have started this project by forking that one. It's got a
better name.
[Liquid](https://github.com/osteele/liquid) is a pure Go implementation of Liquid templates, that I finally caved and wrote in order to use in this project.
[Liquid](https://github.com/osteele/liquid) is a pure Go implementation of
Liquid templates, that I finally caved and wrote in order to use in this
project.
[Jekyll](https://jekyllrb.com), of course.