| CARVIEW |
Select Language
HTTP/1.1 200 OK
Connection: keep-alive
Server: nginx/1.24.0 (Ubuntu)
Content-Type: text/html; charset=utf-8
Cache-Control: public, max-age=300
Content-Encoding: gzip
Via: 1.1 varnish, 1.1 varnish
Accept-Ranges: bytes
Age: 0
Date: Sat, 17 Jan 2026 15:14:26 GMT
X-Served-By: cache-dfw-kdfw8210113-DFW, cache-bom-vanm7210063-BOM
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1768662866.361010,VS0,VE388
Vary: Accept, Accept-Encoding
transfer-encoding: chunked
Villefort: Villefort is a task manager and time tracker
Villefort: Villefort is a task manager and time tracker
Modules
- Villefort
- Villefort.Config
- Villefort.Daily
- Villefort.Database
- Villefort.Definitions
- Villefort.Log
- Villefort.New
- Villefort.Server
- Villefort.Today
- Villefort.Todo
- Villefort.Util
- Villefort.Weekly
Downloads
- Villefort-0.1.2.19.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
| Versions [RSS] | 0.1.0.0, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.1.0.5, 0.1.0.6, 0.1.0.7, 0.1.0.8, 0.1.1.0, 0.1.1.1, 0.1.1.2, 0.1.1.3, 0.1.1.4, 0.1.1.5, 0.1.1.6, 0.1.1.7, 0.1.1.8, 0.1.1.9, 0.1.1.10, 0.1.1.11, 0.1.1.12, 0.1.1.13, 0.1.1.14, 0.1.1.15, 0.1.2.1, 0.1.2.2, 0.1.2.3, 0.1.2.4, 0.1.2.5, 0.1.2.6, 0.1.2.7, 0.1.2.8, 0.1.2.9, 0.1.2.10, 0.1.2.11, 0.1.2.12, 0.1.2.13, 0.1.2.14, 0.1.2.15, 0.1.2.16, 0.1.2.17, 0.1.2.18, 0.1.2.19 (info) |
|---|---|
| Dependencies | aeson, base (>=4.7 && <5), bytestring, convertible, directory, filepath, HDBC (>=2.4.0 && <2.5), HDBC-sqlite3 (>=2.3.3 && <2.4), MissingH, mtl (>=2.2.1 && <2.3), process, random, scotty (>=0.11.0 && <0.12), split (>=0.2.3 && <0.3), strict, text, time (>=1.6.0 && <1.7), transformers, unix, uri-encode, Villefort [details] |
| License | BSD-3-Clause |
| Copyright | 2017 Alice Reuter |
| Author | Alice Reuter |
| Maintainer | alice@alicereuter.com |
| Uploaded | by AliceReuter at 2019-04-30T04:44:09Z |
| Category | Web |
| Home page | https://github.com/alicereuter/Villefort#readme |
| Source repo | head: git clone https://github.com/alicereuter/Villefort |
| Distributions | |
| Executables | Villefort |
| Downloads | 22855 total (128 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating |
|
| Status | Docs not available [build log] All reported builds failed as of 2019-04-30 [all 2 reports] |
Readme for Villefort-0.1.2.19
[back to package description]Villefort
Villefort is a time management system written in Haskell.
Version 1.2.19
- New json endpoints
- More informative output
- Fixed configuration path in documentation
- Emacs Ormode intergration
json api
added json api to get current active tasks and to time completed today.
alice$ curl localhost:3002/tasks
[{"subject":"cs","due":"2019-04-28","rid":177,"time":0,"title":"cs lab","dueIn":0,"description":""},{"subject":"bio","due":"2019-04-30","rid":176,"time":0,"title":"bio hw","dueIn":2,"description":""},{"subject":"probality","due":"2019-05-01","rid":178,"time":0,"title":"probability hw","dueIn":3,"description":""}]
alice$ curl localhost:3002/done
[{"subject":"bio","time":30,"title":"bio hw"}]
Home screen

Add new todos

Stats page

usage: Villefort [options]
options:
-r, --recompile recompiles Villefort using a custom config file found in ~/.villefort/villefort.hs
-h, prints this help manual
To install
- Install cabal (https://www.haskell.org/platform/)
- In terminal or command prompt run
cabal install Villefort. - and then
cabal run Villefort. - You will be able to see the home screen by typing localhost:3002 into your favorite browser.
Configure your villefort
create a custom main method in ~.villefort/villefort.hs. Below is an example.
module Main where
import Villefort.Server
import Villefort.Config
import Villefort.Definitions
import System.Random
import System.IO.Strict as S
main :: IO ()
main = villefort def {
daily = [calendar ],
weekly = defWeekly {
monday = [push],
wednesday = [push],
friday = [push,
scan]
}
}
-- description, heading, subject
calendar = pure ["","check calendar","admin"]
scan = pure ["scan notes","scan","admin"]
-- | generate increasing sets of push ups
push = do
rawNum <- S.readFile "push" -- readfile to get # push ups
let num = read rawNum :: Double
writeFile "push" (show (num+0.3))
sets <- pushUps num
return $ [show sets,"push ups","fit"]
pushUps level = do
dubs <- mapM gen $ replicate 5 level :: IO [Double]
return $ map floor dubs
where gen x = randomRIO (x-(x/3),x+(x/3))
Use Villefort --recompile to recompile Villefort with your custom config. Recompilation requires ghc to be in your $PATH.
The next time you run villefort it will run with your custom config. The default Config is found in Villefort.Config.
How to copy data between versions of Villefort.
All of Villefort's state is stored in todo.db to upgrade just install the new version and copy over the database. Remember to rebuild Villefort so that your custom build uses the new version of Villefort.
- Install the new version through cabal.
- Navigate to ~/.cabal .
- Navigate to share/ .
- Navigate into your architecture folder mine is x86_64-linux-ghc-7.10.3.
- You should now see different versions of Villefort.
Villefort-0.1.2.12/
|-- data/
| |-- date
| |-- day
| |-- todo.db
|-- templates/
|-- js.js
Villefort-0.1.2.13/
|-- data/
| |-- date
| |-- day
| |-- todo.db
|-- templates/
|-- js.js