Skip to content

kite 0.1.2

Choose a tag to compare

@github-actions github-actions released this 29 Sep 09:59
· 96 commits to main since this release

A release for moving in: a Hugo site's content opens with its posts, summaries, anchors and old addresses intact, a Hexo site comes over with one command, and a draft saves itself as you write.

Highlights

  • Bring a Hugo site as it is. Posts written as single files, content/posts/hello.md, are read as posts, where they used to be left out without a word. A summary in front matter is the description, and a line holding <!--more--> ends the excerpt. Files kept in a bundle's folders, such as images/, are published with it. Headings are anchored by their text, as Hugo and GitHub anchor them, so ## 近况 is at #近况.
  • Old addresses keep working. Each path listed under aliases gets a page that sends a reader on to where the item is now and tells search engines which address to keep. It is a page rather than a redirect of the host's, so it works on GitHub Pages too. build.feedAliases writes the feed to the files readers subscribed at, such as Hugo's index.xml.
  • Import a Hexo site. kite import hexo ../old-blog blog reads a Hexo site and leaves it as it is. Posts and drafts become bundles holding their asset folders' files, pages become pages, the rest of source/ becomes the site's static files, and every address Hexo published at becomes an alias. Asset tags become markdown, and the items still holding other Hexo tags are listed.
  • Drafts save themselves. Every edit is kept in the browser until it is saved, and comes back after a crash or a closed tab. A draft is written to its file a moment after you stop typing. Several pictures picked at once all arrive.
  • Covers on cards. A page in a list carries its front matter, word count and pictures, so a theme's cards can show covers and reading times. .Images lists the pictures of a post's text, for a cover when none is named, and No cover in the editor writes cover: false.
  • Pages under a path. A slug may hold a path: a page whose slug is projects/tideline is published at /projects/tideline/.
  • For themes. Dates in front matter reach templates as times and numbers as integers, on a page and in a list alike, and time.AsTime reads a date written as text. math.* keeps integers whole, so a count compares with the 8 a template writes, and math.Int and math.Float convert. coll.* and str.Join take any list, .Pages included.

Fixes

  • Saving an item in the studio no longer rewrites the dates in its front matter as quoted strings.
  • A picture dropped on a page, or on a post kept as a single file, goes among the site's own files instead of being refused.
  • Typographer quotes and dashes no longer reach excerpts and word counts as entities.

Install

Download the archive for your system below, unpack it, put kite somewhere on your PATH, and run kite run in an empty folder. On macOS, xattr -d com.apple.quarantine kite lets a downloaded program run the first time.

To run a site on a server with Docker:

docker run -d --name kite --restart unless-stopped -p 127.0.0.1:1717:1717 -v kite-data:/data ghcr.io/kite-plus/kite:0.1.2

Every archive can be checked against checksums.txt, and a given commit builds to the same binary on any machine.

Upgrading from 0.1.1

Replace the binary, or pull the new image. A site's index is rebuilt the first time it opens. A few things behave differently:

  • Heading anchors follow the heading's text. A heading in Chinese or another non-Latin script was #heading, #heading-1 and so on, and is now its own text; a few ASCII headings holding an underscore or a link change as well. Links into sections from elsewhere need the new anchors.
  • math.Div of two integers drops the remainder, as in Hugo and Go; write one of them as a float, 7.0, to keep the fraction.
  • coll.* returns a list of the element type it was given, and coll.Len refuses a value it cannot count rather than counting it as 0.
  • An item at another page's address, such as a page called posts, and an alias at another page's address stop the build and say which, where one used to be published over the other.

Notes

Kite is in early development, and things may still change from one version to the next. The reference covers the studio, themes, plugins, configuration and deployment, and now moving from Hugo and from Hexo.

Every change in this release

Changelog

Features

Fixes

Other

  • cd8b496: test(theme): list the function cases without aligned keys (@amigoer)

Install

Download the archive for your platform, or pin the version in a project
so that local builds and CI agree:

./kitew build

Verify a download against checksums.txt before running it.