mirror of
https://github.com/stashapp/stash.git
synced 2025-12-18 12:54:38 +03:00
* Upgrade gqlgen to v0.17.2 This enables builds on Go 1.18. github.com/vektah/gqlparser is upgraded to the newest version too. Getting this to work is a bit of a hazzle. I had to first remove vendoring from the repository, perform the upgrade and then re-introduce the vendor directory. I think gqlgens analysis went wrong for some reason on the upgrade. It would seem a clean-room installation fixed it. * Bump project to 1.18 * Update all packages, address gqlgenc breaking changes * Let `go mod tidy` handle the go.mod file * Upgrade linter to 1.45.2 * Introduce v1.45.2 of the linter The linter now correctly warns on `strings.Title` because it isn't unicode-aware. Fix this by using the suggested fix from x/text/cases to produce unicode-aware strings. The mapping isn't entirely 1-1 as this new approach has a larger iface: it spans all of unicode rather than just ASCII. It coincides for ASCII however, so things should be largely the same. * Ready ourselves for errchkjson and contextcheck. * Revert dockerfile golang version changes for now Co-authored-by: Kermie <kermie@isinthe.house> Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
47 lines
2.4 KiB
Go
47 lines
2.4 KiB
Go
// Package blackfriday is a markdown processor.
|
|
//
|
|
// It translates plain text with simple formatting rules into an AST, which can
|
|
// then be further processed to HTML (provided by Blackfriday itself) or other
|
|
// formats (provided by the community).
|
|
//
|
|
// The simplest way to invoke Blackfriday is to call the Run function. It will
|
|
// take a text input and produce a text output in HTML (or other format).
|
|
//
|
|
// A slightly more sophisticated way to use Blackfriday is to create a Markdown
|
|
// processor and to call Parse, which returns a syntax tree for the input
|
|
// document. You can leverage Blackfriday's parsing for content extraction from
|
|
// markdown documents. You can assign a custom renderer and set various options
|
|
// to the Markdown processor.
|
|
//
|
|
// If you're interested in calling Blackfriday from command line, see
|
|
// https://github.com/russross/blackfriday-tool.
|
|
//
|
|
// Sanitized Anchor Names
|
|
//
|
|
// Blackfriday includes an algorithm for creating sanitized anchor names
|
|
// corresponding to a given input text. This algorithm is used to create
|
|
// anchors for headings when AutoHeadingIDs extension is enabled. The
|
|
// algorithm is specified below, so that other packages can create
|
|
// compatible anchor names and links to those anchors.
|
|
//
|
|
// The algorithm iterates over the input text, interpreted as UTF-8,
|
|
// one Unicode code point (rune) at a time. All runes that are letters (category L)
|
|
// or numbers (category N) are considered valid characters. They are mapped to
|
|
// lower case, and included in the output. All other runes are considered
|
|
// invalid characters. Invalid characters that precede the first valid character,
|
|
// as well as invalid character that follow the last valid character
|
|
// are dropped completely. All other sequences of invalid characters
|
|
// between two valid characters are replaced with a single dash character '-'.
|
|
//
|
|
// SanitizedAnchorName exposes this functionality, and can be used to
|
|
// create compatible links to the anchor names generated by blackfriday.
|
|
// This algorithm is also implemented in a small standalone package at
|
|
// github.com/shurcooL/sanitized_anchor_name. It can be useful for clients
|
|
// that want a small package and don't need full functionality of blackfriday.
|
|
package blackfriday
|
|
|
|
// NOTE: Keep Sanitized Anchor Name algorithm in sync with package
|
|
// github.com/shurcooL/sanitized_anchor_name.
|
|
// Otherwise, users of sanitized_anchor_name will get anchor names
|
|
// that are incompatible with those generated by blackfriday.
|