about summary refs log tree commit diff
path: root/tools/cheddar
AgeCommit message (Collapse)AuthorFilesLines
2020-06-16 r/1004 chore(cheddar): Bump all dependenciesVincent Ambo2-215/+106
Manual updates: comrak 0.6 -> 0.7 syntect 3.3 -> 4.2.0 Leading to these automatic updates: Updating crates.io index Updating adler32 v1.0.4 -> v1.1.0 Adding autocfg v1.0.0 Updating base64 v0.10.1 -> v0.12.2 Removing bindgen v0.53.3 Removing cexpr v0.4.0 Adding chrono v0.4.11 Removing clang-sys v0.29.3 Updating comrak v0.6.2 -> v0.7.0 Removing env_logger v0.7.1 Removing glob v0.3.0 Updating hermit-abi v0.1.13 -> v0.1.14 Removing humantime v1.3.0 Adding indexmap v1.4.0 Updating itoa v0.4.5 -> v0.4.6 Updating libc v0.2.70 -> v0.2.71 Removing libloading v0.5.2 Removing log v0.4.8 Updating miniz_oxide v0.3.6 -> v0.3.7 Removing nom v5.1.1 Adding num-integer v0.1.43 Adding num-traits v0.2.12 Updating onig v5.0.0 -> v6.0.0 Removing peeking_take_while v0.1.2 Updating plist v0.4.2 -> v1.0.0 Updating proc-macro2 v1.0.17 -> v1.0.18 Removing quick-error v1.2.3 Updating quote v1.0.6 -> v1.0.7 Updating regex v1.3.7 -> v1.3.9 Updating regex-syntax v0.6.17 -> v0.6.18 Removing rustc-hash v1.1.0 Updating ryu v1.0.4 -> v1.0.5 Updating serde v1.0.110 -> v1.0.112 Updating serde_derive v1.0.110 -> v1.0.112 Updating serde_json v1.0.53 -> v1.0.55 Removing shlex v0.1.1 Updating syn v1.0.25 -> v1.0.31 Updating syntect v3.3.0 -> v4.2.0 Removing termcolor v1.1.0 Removing version_check v0.9.2 Removing which v3.1.1 Updating yaml-rust v0.4.3 -> v0.4.4 Change-Id: I2c2ee6a45bf7a5286fe30d61de52d7993871e7e1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/444 Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-15 r/967 feat(cheddar): Override syntax highlighting for 'rules.pl' to PrologVincent Ambo2-17/+34
Adds a mechanism for per-filename overrides of the chosen language syntax and configures it for Gerrit's submit rule file. This also switches the syntax set used to the one from //third_party/bat_syntaxes, which contains custom additions such as Prolog support. Change-Id: I2023dbad5b326305ef2ef0ecf34ef66a3f7575ab Reviewed-on: https://cl.tvl.fyi/c/depot/+/349 Reviewed-by: riking <rikingcoding@gmail.com> Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-05-25 r/851 chore(tools/cheddar): Bump dependencies & upgrade to LLVM 10Vincent Ambo2-241/+177
2020-02-21 r/559 chore: Rename pkgs->depot in all Nix file headersVincent Ambo1-2/+2
2020-02-09 r/511 Merge branch 'feat/cheddar-extensions'Vincent Ambo1-36/+114
2020-01-19 r/426 feat(cheddar): Add toggle flag for about-filter behaviourVincent Ambo1-13/+38
Cheddar now needs to be passed the --about-filter flag to toggle the behaviour for rendering Markdown into HTML. By default Markdown will be highlighted like normal source code (i.e. cgit source-filtering is the default behaviour).
2020-01-11 feat(cheddar): Implement callout paragraphsVincent Ambo1-0/+68
Implements support for tagging paragraphs that begin with a callout word (TODO, WARNING, QUESTION, TIP) with an additional `cheddar-*` class that makes it possible to render these callouts specially. This is currently not the nicest implementation, but it works.
2020-01-11 refactor(cheddar): Extract code block highlighting into functionVincent Ambo1-37/+47
Since I am going down the path of adding additional Markdown extensions it makes sense to avoid letting `format_markdown` turn into a giant beast of a function. Therefore this commit extracts the logic for rendering code blocks via syntect and changes the innards of `format_markdown` to instead provide arbitrary AST value replacements.
2019-12-22 r/291 fix(cheddar): Fix errors if filename does not have an extensionVincent Ambo1-9/+7
2019-12-21 r/288 feat(cheddar): Style pre-elements for better readabilityVincent Ambo1-4/+22
Uses GitHub-like styling for <pre> elements, i.e. slight padding and background colour highlighting.
2019-12-21 r/287 feat(cheddar): Render code blocks in Markdown via syntectVincent Ambo1-26/+82
Implements fully static (i.e. no JavaScript!) highlighting of code blocks when rendering Markdown. This works by walking through the Comrak AST and replacing any code blocks with pre-rendered HTML blocks. Syntaxes are chosen based on the "block info", which is the string users put after the block's opening fence. This can either be a (case-insensitive) name of a syntax, or alternatively a file extension associated with the desired syntax. The theme is set to one that imitates GitHub.
2019-12-21 r/286 docs(cheddar): Mention cgit filter compatibility in READMEVincent Ambo1-0/+11
2019-12-21 r/282 feat(cheddar): Render Markdown via ComrakVincent Ambo1-9/+24
Renders any ".md" file by pushing it through the Comrak rendering pipeline. This does not yet implement syntax highlighting of fenced blocks, but we're getting there.
2019-12-21 r/281 refactor(cheddar): Set up scaffolding for Markdown renderingVincent Ambo3-13/+224
Generalises the two bits of the program that will be required either way (extension parsing and syntax loading). A dependency on Comrak is introduced as I think GitHub-flavoured Markdown (with all its fancy extensions) is desirable!
2019-12-21 r/277 feat(cheddar): Use syntax highlighting assets from batVincent Ambo2-2/+20
This uses Nix to inject the path to the syntax highlighting assets that ship with the bat source code into the cheddar build at compile time, where the Rust compiler then inserts it into the binary via macros. bat has a lot of custom syntax highlighting definitions that they collected from all over the place (including for languages like Nix!) and this makes them accessible to cheddar. Also if you're reading this, can you just take a moment to appreciate how incredible it is that Nix just lets us do something like this?!
2019-12-21 r/276 feat(tools/cheddar): Check in new syntax highlighting toolVincent Ambo7-0/+772
The first step with this tool will be to use it as a source-filter for cgit. The second step is to use it as the Markdown renderer by depending on one of the Markdown libraries, with integration for rendering code snippets directly.