Skip to content

Releases: insomnimus/blog

v2022.03.23

22 Mar 22:23
Compare
Choose a tag to compare

v2022.03.23 (2022-03-23)

Features

  • cli: increased note char limit to 800

Bug Fixes

  • cli: fixed render command writing the source file instead of the rendered data
  • css: fixed blockquote foreground colour
  • html: fixed missing updated prefix in articles metadata
  • html: added missing separator in the page titles
  • server: added missing atom feed entry fields
  • server: added missing author field in atom feed

v2022.03.15

15 Mar 16:14
Compare
Choose a tag to compare

v2022.03.15 (2022-03-15)

Css

  • make it pretty

Features

  • added an about page and added subcommands for it
  • added a timeout layer
  • added /posts and /api endpoints
  • added directory watching
  • implemented the /articles page
  • added result and option ext for http responses
  • added /static route
  • added /music endpoint and a new subcommand blog music
  • added a new field about to the article
  • added a command line interface for the server
  • made article list command filter case insensitive
  • added --tags option to article publish cmd
  • added a bind mount for /media
  • added BLOG_URL env variable to prod image
  • added new subcommand: article fetch
  • added new subcommand: article list
  • added tag metadata to the article template
  • added home cache reset after publish
  • cli: added new subcommand post
  • cli: added a new configuration option: cli.hooks.pre-db
  • cli: added new config key and hook: cli.hooks.pre-sftp
  • cli: added a post-sftp hook (only for music commands for now)
  • cli: added new subcommand gc
  • cli: made subcommand inference global
  • cli: added cache invalidation on music
  • cli: added new command article delete
  • cli: added new subcommand music delete
  • cli: added new subcommand music list
  • cli: changed post-media hook to not trigger on errors
  • cli: added a new config entry editor
  • cli: added new command article edit
  • cli: added new command article tag
  • cli: added subcommand post list
  • cli: added config file support
  • cli: added more options to article fetch
  • cli: added editor support for post create
  • cli: added an alias to the article subcommand: post
  • cli: added new subcommand note batch-delete
  • cli: added --dirty and --keep-attachments flags to post delete
  • cli: added new command post delete
  • cli: added new subcommand render
  • cli: implemented some sftop functionality
  • cli: added new command post edit
  • cli: integrated sftp functionality
  • db: added new column music to the cache table
  • db: added a read-only user for the server to the database
  • db: added new table for music
  • html: made keywords dynamic
  • html: added music description to the music template
  • html: added metmeta charset to the base template
  • html: added a new nav link for /about
  • html: added a copyright footer to the base template
  • js: added js to turn #tags into links
  • server: added recent music to the homepage
  • server: implemented the /music endpoint
  • server: added next/prev article links to the article
  • server: added new route /search
  • server: made site name and description configurable
  • server: added a way to add copyright holder name
  • server: implemented an RSS feed
  • server: improved the search functionality
  • server: changed rss feed to atom feed
  • server: added --media-dir command line option
  • server: added recent posts to the home page

Bug Fixes

  • updated sqlx-data.json for the cli
  • added missing database initialization to main
  • fixed article publish --tags
  • missing --tags option on blog article list
  • fixed dates not being localizewd properly + /posts endpoint being empty
  • missing content type headers
  • build: fixed docker-compose file
  • cli: fixed the error message of sftp exit code
  • cli: updated sqlx_data.json
  • cli: made article edit return an error on not found
  • cli: made the article tag output sorted
  • cli: fixed misprinting article title in article tag
  • cli: fixed editor env command with spaces not splitting properly
  • cli: added missing pre-db connection hook to the about subcommand
  • cli: fixed cache clearing query
  • cli: removed unused flag --ssh-config
  • cli: fixed Sftp::rmdir()
  • cli: fixed empty directories being ignored if there are no fiels to delete in gc
  • cli: removed the ls alias from article list for the command infering to work
  • cli: added missing cache invalidation after edit
  • compose: fixed external volumes erroring on first launch
  • css: block quote contrast
  • css: fixed some god awful css
  • html: fixed title prefix starting without a space
  • html: fixed another broken link
  • html: fixed a broken link in the base template
  • html: fixed style css not loading
  • html: added missing navigation link to /music
  • html: fixed broken links in notes
  • html: fixed post template
  • js: fixed more button in notes page
  • server: fixed home generation failing due to an error in sqlx
  • server: fixed 2 sql queries
  • server: fixed posts/id endpoint query failing everytime
  • server: fixed timestamps not being properly rendered

Style

  • updated .rustfmt.toml
  • added a rustfmt configuration file
  • turned spaces to tabs in static/style.css
  • html: improved generated html a bit

Code Refactoring

  • fixed a clippy warning
  • changed the content source from filesystem to db
  • renamed posts to notes
  • changed some queries to be compile-time checked
  • changed one more query into compile-checked
  • changed remaining queries to be static
  • tidied up response_ext
  • removed tower dependency and the timeout layer
  • changed db schema and added a cli crate
  • changed timestamps to naive datetime
  • moved caching from the db to the server
  • changed some config keys and env variables
  • moved the server into a new crate
  • cli: added DefaultExt for easy mem::take
  • cli: changed article list -n default to be boundless if a filter is provided
  • cli: moved file related sftp types into a submodule
  • cli: renamed edit_md -> edit_buf
  • cli: changed sftp options
  • cli: changed post attachment directory names also implemented post-sftp hooks for post commands
  • cli: changed BLOG_DB_URL to BLOGCLI_DB_URL
  • cli: removed sftp commands in favour of local directories To support remote file uploads, pre-media and post-media hooks are added (mount sshfs)
  • cli: moved invoking of hooks higher up the call tree
  • cli: changed sftp uri syntax and moved sftp flags to parent subcommands
  • cli: renamed article publish to article create for consistency
  • db: added a new enum syntax
  • db: got rid of article.raw_hash
  • db: renamed article.markdown* to article.raw*
  • html: added the article about metadata and changed some classes
  • html: got rid of some unnecessary classes
  • html: changed the base title suffix to Strange Aeons
  • html: increased the music desc truncation to 100 chars in home.html
  • js: refactored some js scripts
  • js: removed luxon dependency entirely
  • js: special cased singular intervals (1 day ago -> yesterday)
  • js: refactored time formatting to be relative
  • server: changed self rolled mime type detection to an external crate
  • server: improved some code
  • server: added new type for XML responses
  • server: changed env var BLOG_DB_URL -> BLOG_SERVER_DB_URL
  • server: changed some log levels and added startup logs
  • server: changed signature of Media::new to use Into instead of String
  • server: moved date formatting from template to code
  • server: changed response.rs to produce better logs
  • server: changed error logging in post.rs
  • server: added a default ext for mem::take
  • server: replaced while let loops with TryStream combinators
  • server: cleaned up error logging to be more concise
  • server: changed Music::date to be NaiveDateTime, added a custom askama filter for the html tag
  • server: changed ArticleInfo date fields to NaiveDateTime
  • server: changed article search to be done in-memory instead of on the database
  • server: removed string dates from the remaining structs
  • server: changed logger and log format

Performance Improvements

  • cli: improved memory usage of article list
  • server: put an in-memory cache for the /posts page

Build

  • upgraded dependency versions to their latest
  • created a new compose file without the database
  • made main docker-compose file http port configurable
  • added caddy proxy to the compose file
  • made db password pull from the env on main compose file
  • update dockerfile
  • added a dockerfile and compose configuration for development builds

Continuous Integration

  • included the static directory in the release archives
  • fixed release action
  • fixed artifact names
  • added a new workflow

Chore

  • edited readme
  • updated readme
  • updated sqlx-data.json
  • commit updates on schema
  • updated to latest clap
  • removed caddy from preview image
  • removed leftover file
  • cleaning up git tree
  • renamed blog_dev to blog_refactor to avoid confusion
  • fixed a typo in the example docker compose file
  • moved docker related fiels to a new directory
  • removed prod image because it was useless
  • removed an unused file
  • update lock file
  • changed crlf to lf in license
  • updated sqlx-data.json
  • removed the symbolic link for sqlx-data.json
  • fixed broken symlink
  • committed the lock file changes
  • update readme
  • updated readme
  • update lock file
  • removed a trash file
  • update license year to 2022
  • removed unused files
  • added to gitignore
  • added license
  • server: updated deprecated clap code