GithubHelp home page GithubHelp logo

deadolus / anno Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gwgundersen/anno

0.0 1.0 0.0 2.04 MB

Anno is a thin user interface on Markdown files for easy and local text editing, organization, and portability.

Python 3.29% CSS 2.38% JavaScript 93.04% HTML 1.29%

anno's Introduction

Anno - simple, local, portable note-taking software

Why use Anno?

There are many note-taking apps. How is Anno different? Anno is a local, browser-based user interface on top of Markdown files in a given directory. It makes writing, organizing, and searching through those files easy. That's it. There are many benefits to this approach:

  • Own your data. Writing things down is an investment in your future. Rather than have your notes siloed by a company in a possibly proprietary text format, your data lives in plaintext files on your machine. If you use Anno for a while and then stop, no worries. Your data, Markdown files, is human-readable, easily portable to other tools, and programmatically convertable to other formats (see Pandoc).

  • Organize notes naturally. Most note-taking apps create a new organizational system for your notes that is distinct from your filesystem. This forces you to store your notes separately from related files. Anno only works with .anno.md files in the current working directory, allowing you to organize your notes using your filesystem. Furthermore, all files with labels in the YAML-style front matter can be viewed in their respective collections, making intra-directory organization easy without touching your underlying directory structure.

  • Use other software. Anno adheres to the Unix philosophy of modular software that is simple, short, clear, and extensible. For example, data redundancy for text files is a solved problem, and Anno does not control users through product integration. Want cloud backups? Push to a git server or work out of a directory with file syncing. Want security? Encrypt the directory. Anno focuses on easy Markdown editing and organization.

  • Stay local, work fast. Do you want to work on a plane or a train? Do you want a fast, simple user interface that isn't pinging a remote server or downloading large front-end interfaces? Anno is fast—it uses a small Flask server and one ~100 line JavaScript file—and can be used anywhere.

What Anno supports

Anno provides a user interface for the most common and/or time-consuming text-editing operations.

Anno supports:

  • Previewing changes as you write.
  • Writing equations using Katex.
  • Searching through files.
  • Organizing notes in a directory with labels.
  • Adding images to notes.
  • Syncing Markdown front matter (title and date) into consistently formatted filenames.
  • Converting notes into LaTeX PDFs for easy printing and sharing.

Installation

From PyPI

Anno is available as a PyPI package. To install, run

pip install anno

From source

You can also install the current development version by building and installing:

git clone [email protected]:gwgundersen/anno.git
cd anno
python setup.py sdist
pip install dist/anno-<VERSION>.tar.gz

Usage

To use Anno, type anno in the desired directory, e.g.

cd ~/myproject
anno

and Anno will start a web server on port 5000 and open the app with your default browser. The port can be changed with the --port flag, e.g.

anno --port=4000

If you would prefer Anno did not open a new browser tab, pass the --nopen flag:

anno --nopen

You can customize Anno using an .anno_config.py file. To generate this file, run

anno --generate-config

This allows for customizations such as changing how dates are rendered, how filenames are constructed, and which file extensions are used by default.

anno's People

Contributors

gwgundersen avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.