No description
Find a file
jvoisin 2be5051b19 Reorder the fields of the Entry struct to save some memory
Given that there is always a ton of `Entry` floating around, reordering its
field to take less space is a quick/simple way to reduce miniflux' memory
consumption.

I kept the `ID` field as the first member, as I think it's the most important
one, and moving it somewhere else would drown it in other fields.

Anyway, this still provides a reduction of 32 bytes per Entry:

```console
$ fieldalignment  ./client/model.go 2>&1 | grep 203
~/v2/client/model.go:203:12: struct with 280 pointer bytes could be 240
$ fieldalignment  ./client/model.go 2>&1 | grep 203
~/v2/client/model.go:203:12: struct with 248 pointer bytes could be 240
$
```

The same optimisation pass could be applied to other structs, but since they
aren't present in obviously great numbers during miniflux' life cycle, it would
likely require some profiling to see if it's worth doing it.
2024-02-24 20:08:27 -08:00
.devcontainer Add github-cli and docker-outside-of-docker to devcontainer 2023-11-02 14:31:54 +00:00
.github Adjust GitHub Actions condition for manual pipeline execution 2024-02-21 21:19:07 -08:00
client Reorder the fields of the Entry struct to save some memory 2024-02-24 20:08:27 -08:00
contrib Create default miniflux db 2023-12-31 10:54:53 -08:00
internal Fix categories import from Thunderbird's OPML 2024-02-24 19:43:33 -08:00
packaging Build amd64/arm64 Debian packages with CGO disabled 2024-02-21 21:23:48 -08:00
.gitignore Add Bruno Miniflux API collection 2023-10-06 19:39:20 -07:00
ChangeLog Fix typo in man page and Changelog 2024-02-17 13:28:17 -08:00
go.mod Bump github.com/PuerkitoBio/goquery from 1.8.1 to 1.9.0 2024-02-23 16:32:21 -08:00
go.sum Bump github.com/PuerkitoBio/goquery from 1.8.1 to 1.9.0 2024-02-23 16:32:21 -08:00
LICENSE First commit 2017-11-19 22:01:46 -08:00
main.go Move internal packages to an internal folder 2023-08-10 20:29:34 -07:00
Makefile Makefile: quiet git describe and rev-parse stderr 2024-02-21 22:08:02 -08:00
miniflux.1 Fix typo in man page and Changelog 2024-02-17 13:28:17 -08:00
Procfile Make latest changes compatible with Heroku 2018-08-29 20:50:36 -07:00
README.md Update contributor link and Godoc badge for client 2020-10-18 21:53:07 -07:00
SECURITY.md Update Security policy 2023-03-13 19:56:47 -07:00

Miniflux 2

Miniflux is a minimalist and opinionated feed reader:

  • Written in Go (Golang)
  • Works only with Postgresql
  • Doesn't use any ORM
  • Doesn't use any complicated framework
  • Use only modern vanilla Javascript (ES6 and Fetch API)
  • Single binary compiled statically without dependency
  • The number of features is voluntarily limited

It's simple, fast, lightweight and super easy to install.

Official website: https://miniflux.app

Documentation

The Miniflux documentation is available here: https://miniflux.app/docs/ (Man page)

Screenshots

Default theme:

Default theme

Dark theme when using keyboard navigation:

Dark theme

Credits