@hackage Villefort0.1.2.2

Villefort is a task manager and time tracker written in haskell.

Villefort

Villefort is a time managment system written in Haskell.

Version 1.2.2

  • Rewrote the weekly sorting by category algorithm so that it actually workds
  • Fix weekly page error.

default config

Home screen

alt text

Add new todos

alt text

Stats page

alt text

To install

  1. Install cabal (https://www.haskell.org/platform/)
  2. In terminal or command prompt run cabal install Villefort.
  3. and then cabal run Villefort.
  4. You will be able to see the homescreen 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
import Villefort.Definitions
import System.Random
import System.IO.Strict as S

main :: IO ()
main = villefort def {
  daily = [floss,
           calendar ],
  weekly = defWeekly {
    monday = [more,
             dailyRef],
    tuesday = [dailyRef],
    wednesday = [more,
                dailyRef],
    thursday  = [dailyRef],
    friday = [more,
              scan,
              dailyRef]
 
    },
    showDatabase = True
 }

floss    = pure ["","floss","wellness"]
calendar = pure ["","check calendar","admin"]
scan     = pure ["scan class notes","scan","admin"] 
dailyRef = pure ["write a daily reflection on each class","reflect","admin"]

more = do
  z <- S.readFile  "/home/chris/.villefort/push"  -- readfile to get # push ups
  let num = read z :: Double
  writeFile "/home/chris/.villefort/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))
 

Then run Villefort --recompile the next time you run villefort it will run with your configuration.

The default configuration is located here https://github.com/Chrisr850/Villefort/blob/master/src/Villefort/Config.hs

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 mines x86_64-linux-ghc-7.10.3 You should now see different versions of Villefort

Villefort-0.1.1.0/

    |-- data/
    |   |-- date
    |   |-- day
    |   |-- todo.db
    |-- templates/
    |-- js.js

Villefort-0.1.1.1/

	|-- 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. Then remember to rebuild Villefort if you have a custom build.

Villefort --recompile