Versions |
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.18, 0.1.2.19 |
Change log |
None available |
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 |
alicereuterdev@gmail.com |
Category |
Web |
Home page |
https://github.com/alicereuter/Villefort#readme
|
Source repo |
head: git clone https://github.com/alicereuter/Villefort |
Uploaded |
by AliceReuter at 2019-04-06T16:14:41Z |
Villefort
Villefort is a time management system written in Haskell.
Version 1.2.18
json
the first number is the unique task id.
alice$ curl localhost:3002/tasks
{"4":{"subject":"cs","due":"2019-03-14","time":0,"title":"lab 3","description":""},"2":{"subject":"bio","due":"2019-02-28","time":0,"title":"bio homework","description":""},"3":{"subject":"cs","due":"2019-03-08","time":0,"title":"cs314","description":""}}
default config
Home screen
Add new todos
Stats page
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.
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.
- 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
Just copy the data/todo.db from the old version into data/todo.db of the new version.
Remember to rebuild Villefort so that your custom build uses the new version of Villefort.
Villefort --recompile