Git Product home page Git Product logo

taskchampion's Introduction

NOTE: TaskChampion is merging with Taskwarrior, so this repository is archived.

TaskChampion

TaskChampion is an open-source personal task-tracking application. Use it to keep track of what you need to do, with a quick command-line interface and flexible sorting and filtering. It is modeled on TaskWarrior, but not a drop-in replacement for that application.

See the documentation for more!

Status

TaskChampion currently functions as a "testbed" for new functionality that may later be incorporated into TaskWarrior. It can be developed without the requirements of compatibliity, allowing us to explore and fix edge-cases in things like the replica-synchronization model.

While you are welcome to help out, you should do so with the awareness that your work might never be used. But, if you just want to get some practice with Rust, we'd be happy to have you.

Structure

There are five crates here:

Code Generation

The taskchampion_lib crate uses a bit of code generation to create the lib/taskchampion.h header file. To regenerate this file, run cargo xtask codegen.

C libraries

NOTE: support for linking against taskchampion is a work in progress. Contributions and pointers to best practices are appreciated!

The taskchampion-lib crate generates libraries suitable for use from C (or any C-compatible language).

The necessary bits are:

  • a shared object in target/$PROFILE/deps (e.g., target/debug/deps/libtaskchampion.so)
  • a static library in target/$PROFILE (e.g., target/debug/libtaskchampion.a)
  • a header file, lib/taskchampion.h.

Downstream consumers may use either the static or dynamic library, as they prefer.

NOTE: on Windows, the "BCrypt" library must be included when linking to taskchampion.

As a Rust dependency

If you would prefer to build Taskchampion directly into your project, and have a build system capable of building Rust libraries (such as CMake), the taskchampion-lib crate can be referenced as an rlib dependency.

Documentation Generation

The mdbook configuration contains a "preprocessor" implemented in the taskchampion-cli crate in order to reflect CLI usage information into the generated book. This preprocessor is not built by default. To (re)build it, run cargo build -p taskchampion-cli --features usage-docs --bin usage-docs.

taskchampion's People

Contributors

dbr avatar dependabot[bot] avatar djmitche avatar gravityvi avatar savchenko avatar srfraser 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.