imapfilter
keenwrite-themes
imapfilter | keenwrite-themes | |
---|---|---|
15 | 13 | |
830 | 6 | |
- | - | |
4.8 | 0.0 | |
11 days ago | 8 months ago | |
C | TeX | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
imapfilter
-
Google will disable all but OAuth for IMAP, SMTP and POP starting Sept. 30
Shouldn't be _too_ hard to convert your scripts.
I ran into the same problem and one workspace disallows App passwords. You can simply get the OAuth token with a little python script and then use it as the password: https://github.com/google/gmail-oauth2-tools/blob/master/pyt...
(see for example https://github.com/lefcha/imapfilter/issues/186)
-
Lua: The Little Language That Could
My first real exposure to Lua was as the configuration language of imapfilter. Absolutely loved both.
https://github.com/lefcha/imapfilter
-
Automaticallly Printing (from email?)
Use [imapfilter](https://github.com/lefcha/imapfilter) to store the attachment in a local folder and delete/archive the mail. Then use something like [inotify](https://en.wikipedia.org/wiki/Inotify#:~:text=inotify%20(inode%20notify)%20is%20a,reports%20those%20changes%20to%20applications.)%20is%20a,reports%20those%20changes%20to%20applications.)) to run a script that sends the new pdf to the printer
-
Scriptable headless IMAP client?
Imapfilter runs lua scripts. Since it's basically just a lua interpreter with a pre-imported library, you can pretty much do any processing you might like, but... IMHO it doesn't seem great: the documentation is so-so, the API is a bit clunky and lacks basic functionality (eg. you have to decode utf8 mime headers yourself) and (personal opinion) writing an imapfilter script is not easier than using an IMAP library in whatever your favorite programming/scripting language might be.
-
How to run a script to cleanup emails ?
You could look at something like imapfilter. It's designed to do what you want, I think, though I've never used it.
-
Looking for help or alternative solutions to my current email workflow with ProtonMail
I know this one is an issue, and for that you will want to use an email client with the bridge. I have used a protonmail docker container shenxn/protonmail-bridge-docker with imapfilter to provide client side filtering.
-
I have too much email - over 50 GB on Outlook and Gmail
If you can see yourself writing some scripts to clean it up, I can recommend imapfilter as a starting point. I learned enough Lua to be able to use this effectively. The "config" file is actually just a Lua script.
-
Command line email filters
I believe that Google still offers IMAP access (I think you need to set up app passwords, or possibly jump through some OAUTH hoops), letting you use something like imapfilter to set up rules, connecting to Gmail, then doing the filtering.
-
Spam filter that connects to mail server
imapfilter with a Lua script to send messages to Spamassassin.
-
Syncing E-Mail filters
Another tool actually meant for this is imapfilter: https://github.com/lefcha/imapfilter
keenwrite-themes
-
LaTeX for publishing tabletop role-playing games
This gets styled in the PDF as:
https://i.ibb.co/ZfZXmDn/output.png
Various styles are packed in themes, which the user can select when exporting to PDF. At present, there are only three themes:
https://github.com/DaveJarvis/keenwrite-themes/tree/main/exa...
There other styles in the Boschet theme, such as speech bubbles, TODOs, and so forth:
::: bubbletx
- On why Markdown is not a good, or even a half-decent, markup language
-
Millions of dollars in time wasted making papers fit journal guidelines
KeenWrite Themes[1] are instructions that tell ConTeXt how to typeset XHTML documents (content) into PDF files (presentation). I made a tutorial that shows how my FOSS desktop text editor, KeenWrite[3], allows users to write in Markdown to typeset a document against a particular theme.
Before it can be used for scientific papers, it needs cross-references, which, unfortunately, aren't part of the CommonMark specification.
I posit that the vast majority of LaTeX users don't grok how to separate content from presentation. When I asked a question on TeX.SE about how to adjust the line spacing between enumerated items (spanning a couple dozen enumerated lists), the vast majority of people voted for the answer of using `\itemsep0em` to tweak each list ... individually.[4] The correct answer, IMO, is to fix the problem globally, and not waste time tweaking individual lists.
[1]: https://github.com/DaveJarvis/keenwrite-themes
[2]: https://www.youtube.com/watch?v=3QpX70O5S30
[3]: https://github.com/DaveJarvis/keenwrite
[4]: https://tex.stackexchange.com/questions/6081/reduce-space-be...
-
Lua: The Little Language That Could
The ConTeXt typesetting system tightly integrates Lua. One aspect of Lua that I dislike is its inability to easily write OOP-ish code. What's impressive about the language is that it can be extended to do so in astonishingly little code:
* https://github.com/kikito/middleclass
With OOP in place, I was able to typeset a hexagonal grid and a symbolic representation of a neural network on top, using a more OOP-like approach. The classes are straightforward.
A vertex defines a point in 2D space:
* https://github.com/DaveJarvis/keenwrite-themes/blob/main/bos...
An edge connects two vertices:
* https://github.com/DaveJarvis/keenwrite-themes/blob/main/bos...
A graph connects edges:
* https://github.com/DaveJarvis/keenwrite-themes/blob/main/bos...
A priority queue serves for ordering graph edges by weight of adjoining vertices:
* https://github.com/DaveJarvis/keenwrite-themes/blob/main/bos...
With these concepts in hand, we can typeset a grid and a "neural network" on top:
* https://github.com/DaveJarvis/keenwrite-themes/blob/main/bos...
Here's an example of the output for chapter 1:
* https://i.ibb.co/19DCDZy/ch-1.png
And chapter 14, where the "network" has grown in complexity:
* https://i.ibb.co/ncf16vg/ch-2.png
This is for my near future hard sci-fi book on AGI. I'm looking for alpha readers to give me feedback. See profile for contact details.
-
KeenWrite 3.2.0
KeenWrite uses themes to control every aspect of the presentation layer: leader dots, indentation levels, fonts, colours, hyperlinking, and so forth. This is accomplished by first converting R Markdown to XHTML then passing the XHTML to ConTeXt.
-
Pure Java Typesetting System
> like font face, font size, horizontal and vertical element positioning and line spacing, etc.
May I recommend ConTeXt?
For my purposes, KeenType was only meant to provide a real-time "rough draft" of equations rendered inside of KeenWrite[0], my FOSS Markdown editor. That is, I edit in Markdown, then KeenWrite converts the inline TeX-based equations for previewing. When I'm ready to create a "finished" product, KeenWrite exports the Markdown to XHTML then feeds the XHTML, along with a theme, to ConTeXt[1]. The various themes[2] are where font faces sizes, alignment, kerning, etc. are tweaked. In this way content remains completely separated from presentation.
[0]: https://github.com/DaveJarvis/keenwrite
[1]: https://wiki.contextgarden.net/Main_Page
[2]: https://github.com/DaveJarvis/keenwrite-themes
-
Architecture diagrams should be code
KeenWrite[0], the FOSS Markdown text editor I’ve been working on, includes the ability to render plain text diagrams via Kroki[1]†. See the screenshots[2] for examples. Here’s a sample Markdown document that was typeset[3] using ConTeXt[4] (and an early version of the Solare[5] theme).
One reason I developed KeenWrite was to use variables inside of plain text diagrams. In the genealogy diagram, when any character name (that’s within the diagram) is updated, the diagram regenerates automatically. (The variables are defined in an external YAML file, allowing for integration with build pipelines.)
Version 3.x containerizes the typesetting system, which greatly simplifies the installation instructions that allow typesetting Markdown into PDF files. It also opens the door to moving Kroki into the container so that diagram descriptions aren’t pushed over the Internet to be rendered.
†Kroki, ergo KeenWrite, supports BlockDiag (BlockDiag, SeqDiag, ActDiag, NwDiag, PacketDiag, RackDiag), BPMN, Bytefield, C4 (with PlantUML), Ditaa, Erd, Excalidraw, GraphViz, Nomnoml, Pikchr, PlantUML, Structurizr, SvgBob, UMLet, Vega, Vega-Lite, and WaveDrom.
Note that Mermaid diagrams generate non-conforming SVG[6], so they don’t render outside of web browsers. There is work being done to address[7] this problem.
[0]: https://github.com/DaveJarvis/keenwrite
[1]: https://kroki.io/
[2]: https://github.com/DaveJarvis/keenwrite/blob/main/docs/scree...
[3]: https://pdfhost.io/v/4FeAGGasj_SepiSolar_Highlevel_Software_...
[4]: https://wiki.contextgarden.net/Main_Page
[5]: https://github.com/DaveJarvis/keenwrite-themes/
[6]: https://github.com/mermaid-js/mermaid/issues/2485
[7]: https://github.com/yuzutech/kroki/issues/1410
-
Is it possible to add LaTeX commands to a markdown file?
KeenWrite leverages KeenWrite Themes to change how documents are presented. The Tarmes theme is an example of a very basic theme, meant to act as a base for making new themes. Take a look at Tarmes, which is probably the closest answer to your question. Feel free to add issues against the issue tracker or add questions to the discussion area.
-
Converting my PhD thesis into HTML
> Nevertheless, I would prefer a Markdown-based system
My free, cross-platform desktop Markdown editor, KeenWrite[1], integrates with the ConTeXt typesetting software[2]. I'm working on a branch[3] to make integration containerized[3] because its installation is painful. KeenWrite limits math to plain TeX[4] so that the output can be rendered using any TeX-based typesetter (ConTeXt, LaTeX, MathJax, εχTEX, etc.).
Here's a sample document typeset using ConTeXt (skip to page 40 for the math):
https://pdfhost.io/v/4FeAGGasj_SepiSolar_Highlevel_Software_...
That document theme is called Solare[8].
> that can use CSS and MathML
Adding CSS mixes presentation logic with content, which is something KeenWrite strives to avoid. Instead, KeenWrite implements Pandoc's annotation syntax to keep presentation logic out of the content. I've written about this extensively in my Typesetting Markdown series[5].
You can produce some pretty amazing documents just with annotations, such as the following that I wrote in Markdown and typeset using ConTeXt:
https://impacts.to/downloads/lowres/impacts.pdf
> has a 100% bibtex clone for references.
Markdown fails at references. At some point, I'd like to implement cross-references in KeenWrite. Except there's at least six competing standards for the syntax, which I've also remarked upon[6], making the choice of syntax difficult[7].
[1]: https://github.com/DaveJarvis/keenwrite
[2]: https://wiki.contextgarden.net/Installation
[3]: https://github.com/DaveJarvis/keenwrite/blob/1_typeset_using...
[4]: https://github.com/DaveJarvis/keenwrite/blob/main/docs/scree...
[5]: https://dave.autonoma.ca/blog/2020/04/28/typesetting-markdow...
[6]: https://talk.commonmark.org/t/cross-references-and-citations...
[7]: https://xkcd.com/927/
[8]: https://github.com/DaveJarvis/keenwrite-themes/tree/main/sol...
-
KeenWrite 2.10.0: R meets TeX
If ConTeXt and KeenWrite Themes are installed, then you can press Control+P to export as a PDF file, producing the output shown on the far right.
What are some alternatives?
imapfilter-tools - Tools to improve imapfilter for use as a reliable SPAM filtering service.
TALA - A diagram layout engine designed specifically for software architecture diagrams
pyle-of-mail - A Python script that sorts all read emails from your mailbox.
KeenWrite - Free, open-source, cross-platform desktop Markdown text editor with live preview, string interpolation, and math.
protonmail-bridge-docker - ProtonMail IMAP/SMTP Bridge Docker container
character-picker - Quick and convenient character picker for Windows
guix - Read-only mirror of GNU Guix — pull requests are ignored, see https://guix.gnu.org/en/manual/en/guix.html#Submitting-Patches instead
hn_mining - hackernews data
piccolo - An experimental stackless Lua VM implemented in pure Rust
publisher - speedata Publisher - a professional database Publishing system
himalaya - CLI to manage emails
mathpix-markdown-it - Markdown rendering + Latex extras (equations, tables, ...), with conversion features, for the scientific community