Commit graph

154 commits

Author SHA1 Message Date
Ed Page
e8b76902e1 refactor(cli)!: Port to clap_derive
BREAKING CHANGE: Logging arguments now can't be called on the subcommand
and now are repeated `-q` or `-v`, with "info" being the default log
level.
2022-01-13 15:51:54 -06:00
Lachezar Lechev
8f3eba86d3
fix: Rustfmt 2021-12-08 10:39:40 +02:00
Lachezar Lechev
7308ee53a4
fix: partially fix clippy warnings 2021-12-08 10:37:17 +02:00
Lachezar Lechev
84a197c9af
Rust edition 2021 2021-12-05 10:26:06 +02:00
Ed Page
c4a369e2fe chore: Drop difference dep
Fixes #882
2021-09-10 13:54:13 -05:00
Ed Page
3a6396bd09 refactor: Switch out core types
Goals
- Move validation earlier in the process
- Catch bugs
- Reduce memory usage as we build up our ECS
2021-08-06 12:44:08 -05:00
Ed Page
8d0d8e2beb test(new): first-order e2e test cases 2021-07-09 15:22:16 -05:00
Ed Page
071e5fac97 refactor(config): Port to new cobalt-config crate
Cherry-pick: 0b3ef05
2021-07-08 16:32:23 -05:00
Chip Senkbeil
7f68e3f185
feat: add vimwiki support
Fixes #817
2021-06-07 14:44:33 -05:00
tglman
657abc90b2
feat: Minify html,css,js (#854)
- Minifies rendered documents
- Minifies js, and css assets

Minification is disabled by default, for backward and text compatibility.  This can be changed on an extension-by-extension basis.

This doesn't touch the unused config crate.
2021-05-24 09:21:38 -05:00
Ed Page
e4020ea545 fix: Properly highlight code blocks
Fixes #287
2020-10-17 11:29:27 -05:00
Ed Page
731fb61e65 feat: Pagination is now stable-enough 2020-02-29 20:19:21 -06:00
Andreas Rottmann
9a0bbd1949 chore: Fix a bunch of assorted clippy warnings
These were all identified by the following clippy command, using the
clippy from Rust 1.41 (current stable).
2020-02-12 22:14:46 +01:00
Ed Page
732e325a64 chore: Restore reverted dependencies 2020-02-07 16:26:10 -06:00
Ed Page
771314bbc5 Revert Cobalt 2020-02-07 15:09:11 -06:00
Ed Page
0b3ef05ae3 refactor(config): Port to new cobalt-config crate
BREAKING CHANGE: Old-style frontmatter is removed and some config keys
are renamed:
- Sort Order: Asc / Desc were lowercased
- Sass Style: Nested / Expanded / Compact / Compressed were lowercased
- Pagination: All, Tags, Categories, Dates were lowercased
2019-12-07 18:12:46 -07:00
Ed Page
c41b9c1356 chore: Update dependencies 2019-12-02 10:30:55 -07:00
Ed Page
2ce223ce7d chore: Update deps
This incldues removing tests that are just too brittle.
2019-11-27 15:09:39 -07:00
Tglman
9b6272d6b4 feat: Add support for sitemap generation 2019-09-07 16:34:40 +01:00
Geobert Quach
d197c652ec feat(pagination): Sort by weight 2019-09-02 16:40:58 +01:00
Geobert Quach
4327ec1a7b feat(pagination): pagination on dates 2019-08-23 18:04:30 +01:00
Geobert Quach
9621b31a7c fix(pagination_permalink): fixes #666 and adjust tests 2019-08-09 19:14:37 +01:00
Ed Page
4634337b52 chore(deps): Update 2019-07-03 07:25:43 -06:00
Ed Page
3841da3db6 fix(md): Be more conformant 2019-04-06 21:15:27 -06:00
Geobert Quach
e041aad292 fix(pagination): revamp pagination permalink management 2019-04-06 20:43:26 +01:00
Geobert Quach
2c116ae922 feat(pagination): indexation by categories 2019-02-21 20:31:47 +00:00
Ed Page
6fb1bbbcd7 chore: Switch to failure 2019-02-01 08:19:54 -07:00
Geobert Quach
1a9683524b feat(pagination): pagination on tags 2019-01-28 19:15:48 +00:00
Ed Page
b9981489ff feat(liquid): Upgrade
Too many features, bug fixes, and performance gains to name.

See https://github.com/cobalt-org/liquid-rust/blob/master/CHANGELOG.md#0180-2018-12-27

BREAKING CHANGE: Besides any caused by the liquid upgrade, we no longer
support includes outside of the `_include` directory.
2018-12-27 14:04:06 -07:00
Ed Page
ed961701c4 tests: Use new frontmatter format 2018-11-27 13:06:09 -07:00
Ed Page
3534c5baea chore: Upgrade syntect 2018-11-21 13:52:57 -07:00
Geobert Quach
da6360d223 feat(pagination): core logic
feat(pagination): remove feature from default
2018-10-24 20:49:17 +01:00
Ed Page
d2b0671994 chore: Upgrade syntect
I ran `ldd` on cobalt to ensure static linking was still happening.
2018-09-03 19:01:54 -06:00
Ed Page
023e7879f2 refactor: Convert to assert_fs/assert_cmd
The tests are now operating in a more standard use case thanks to the
ability to easily setup. The are running in the CWD rather than all the
paths artifically being set.

Fixes #381
2018-08-02 06:12:52 -06:00
Ed Page
32bf4a42e2 chore: Upgrade dependencies 2018-06-25 10:00:39 -06:00
Ed Page
de7f246097 chore: Update CI 2018-06-25 09:03:48 -06:00
Tim Süberkrüb
8ca7cb819a feat(sass): add support for Sass's indented syntax 2018-04-02 20:44:34 +02:00
Ed Page
a380fd15fb fix(clean): Don't error on double-clean
The test was re-worked to better describe what its actually testing.
Later, when we have better file system test utilities (see the CLI WG),
we can actually make a test focused on what this test was meant to
cover.
2018-03-16 14:58:25 -06:00
Ed Page
0ed5247e89 chore: Upgrade dependencies
- More details available when logging with `--trace`
- liquid updated with existence check
- Some bug fixes with `ignore` configuration

Fixes #363
2018-03-16 10:12:23 -06:00
Ed Page
821c106dc3 style: Update rustfmt 2018-03-03 20:55:04 -07:00
Ed Page
373651b972 refactor(config): Remove dependence on config
Most of the code is decoupled from config.
- This will help in evolving
- This helps decouple other things, like `new` not needing to load
  layouts.
2018-03-03 12:58:37 -07:00
Ed Page
b2cbe13aaa perf(layouts): Switch from lazy to eager
No idea what impact this will have on performance actually.

BREAKING CHANGE: The paths used for layouts now must be clean (no
`//./file.liquid`).
2018-03-03 12:58:07 -07:00
Ed Page
b09c59b350 refactor(config): Use path for paths 2018-03-03 12:55:37 -07:00
Geobert Quach
bc97e4ef33 refactor(build()): renamed some functions according to comments 2018-01-27 21:03:31 +00:00
Ed Page
0aedcba5fb
Merge pull request #370 from Geobert/fix#241
Fix EOL issue with tests
2018-01-27 13:12:25 -06:00
Geobert Quach
ef16be08eb fix(tests): normalizing EOL management
Closes #241
add editorconfig
add gitattributes
2018-01-27 16:14:07 +00:00
Ed Page
8fca43406d feat: Upgrade liquid
Features
* Provide context on errors (good enough for #136)
* Implement basic `compact` support

Bug Fixes
* `date_in_tz` can't parse cobalt's dates
* Improve value coercion practices
  * Every `Value` is now treated as a string.
  * Whole numbers are now preserved.
  * Whole numbers can convert to fractional numbers but not the other way
    around.
  * You can convert a fractional number to a whole number using the
    filters `round`, `ceil`, or `floor`.
  * Operations on only whole numbers preserve their whole number nature.
  * for tag ranges, indexing, etc only accept whole numbers

Fixes #136

BREAKING CHANGES: There might be minor behavior changes form the coercion
changes.
2018-01-24 06:40:15 -07:00
Ed Page
d280a35329 feat(liquid): Generalize is_post / posts
`page.collection` contains the collection slug which is `posts` for,
well, the built-in posts collection.

`collections.posts.pages` is a sorted list of all of the pages that are
part of the posts collection.

Fixes #323

BREAKING CHANGES:

`page.is_post` is replaced by `page.collection`.  Generally, it'll look like
`{% if page.is_post %}`
and can be replaced by
`{% if page.collection == "posts" %}`

`posts` is replaced by `collections.posts.pages`.  Generally, it'll look
like
`{% for post in posts %}`
and can be replaced by
`{% for post in collections.posts.pages %}`

`cobalt migrate` should do this for you.
2018-01-03 21:01:34 -07:00
Ed Page
1e19ae070d feat(front): Change date to YYYY-MM-DD
Fixes #349

BREAKING CHANGE:

Frontmatter `published_date` switched from "29 December 2016 15:20:21
-0700" to "2016-12-29 15:20:21 -0700".

`cobalt migrate` should handle this for you.
2018-01-03 21:01:34 -07:00
Ed Page
c4ee83b3f5 feat(config): Change .cobalt.yml to _cobalt.yml
Why?
- Better aligns with other `_` prefixed files in cobalt
- The file is meant for humans
- This is what Jekyll does

Fixes #348
2018-01-03 21:01:34 -07:00