2fdae50c81
* TestCafe added to project. First test written * Search input test added * Seacth input test changed, travis job for testcafe tests added * Travis bugfix test * Travis testcafe bugfix test try 2 * Travis testcafe bugfix test ry 3 * Travis testcafe test sleep increased to 10 * Test adding category added but bug with click occurs - check!!! * Category test (testing the group where test was creating) added - bug fix * Article component rewrite * Article component rewritten * Big with rendering content.html in v-for * Collapse bug fix * MInor category visual changes/fixes * Description, reactivity bug fix * merge * Refactoring after code review * Conflict in styles resolved * Item add/delete feature in category * merge with vue * minor code fix * minor merge fix * add/delete item test v 0.0.1 * add/delete item tests * add/delete tests merge with develop branch fix * Tests bug fix * minor add/delete item test refactoring * Tests improved * Package lock |
||
---|---|---|
favicon | ||
front | ||
guidejs | ||
scripts | ||
src | ||
static | ||
templates | ||
tests | ||
.ghci | ||
.gitignore | ||
.gitlab-ci.yml | ||
.hlint.yaml | ||
.stylish-haskell.yaml | ||
.travis.yml | ||
b | ||
CHANGELOG.md | ||
guide.cabal | ||
INSTALL.md | ||
LICENSE | ||
official.sh | ||
README.md | ||
Setup.hs | ||
shell.nix | ||
stack.yaml |
Aelve Guide
The beta version is running at guide.aelve.com. The most complete section yet is the one about lenses.
Installation instructions and the explanation of config variables (in config.json
) are here: INSTALL.md. Don't be afraid to install it locally – it's very easy! You don't need to set up any databases or anything like that, and you can get a full copy of the data from the site by simply cloning it from Github.
Contributing
If you want to contribute but don't know where to start, grep the source for
[very-easy]
and [easy]
, or look at these issues:
- “your first pull request” – really easy things, with detailed “how to fix it” instructions
- “your second pull request” – less easy things, which assume that you already know where stuff happens in the code
- “not-fleshed-out idea” – discussion issues (“should we have users? what better ways are there to present pros and cons?”) which you can help with even if you don't know Haskell
- “design” – issues about design (which I'm not good at, and so help is wanted)
Testing
You need chromedriver
and selenium-server-standalone
installed (those are the package names on Arch Linux). Then you can do
$ java -jar /usr/share/selenium-server/selenium-server-standalone.jar
$ stack test
Overview of the code
Folder structure
lib
– actual code (as a library)src
– just a dumbMain.hs
file to compile an executabletests
– testsstatic
– icons, CSS, Markdown pages, HTML pages, and some JS librariestemplates
– HTML templates for pages and elements of pagesscripts
– some scripts used by automatic testingfavicon
– code used to generate a faviconguidejs
– client side JavaScriptfront
– the new frontend, written in Vue.js
Frontend
To lint Vue.js components, you need to do:
npm install --global eslint eslint-plugin-vue@next
cd static/components
eslint .
Maybe there's a better way than npm install --global
, I don't know. I'm
not a Node.js guy.
Notes
When you see something like
-- See Note [acid-state]
it means that there's an extensive comment somewhere else in the code, which you can find by grepping for Note [acid-state]
. This convention was stolen from GHC. If you know some plugin for Emacs that would help with jumping to comments (even if those comments would have to be formatted differently), let me know.