This is an ultimate comparison framework written in angular2.
-
Create a new repository on GitHub. In the following called "ultimate-THING-comparison" and located at https://github.com/example.com/ultimate-THING-comparison, replace
THING
by your comparison (e.g.,web-framework
). -
Create local repository (in a git bash, Windows shell does not work)
mkdir ultimate-THING-comparison cd ultimate-THING-comparison git init git fetch --depth=1 -n https://github.com/ultimate-comparisons/ultimate-comparison-BASE.git git reset --hard $(git commit-tree FETCH_HEAD^{tree} -m "initial commit")
-
Create push to your GitHub repository
git remote add origin [email protected]:example.com/ultimate-THING-comparison.git git push -u origin master
- The file
comparison-configuration/comparison.json
defines the main properties of the comparison and the details dialog.
In the details dialog the values of the keys header-label
, body
, and body-attachment-tags
matches level 2 headers in the comparison-elements files. The type of the body-attachment-tags
must be labels and body
will be parsed as markdown formated text.
2. The file comparison-configuration/table.json
defines the table columns.
tag:
References a level 2 header of the comparison elements (Performance
,Description
,License
,Showcase
) or the level 1 header and its content (tag
,url
,descr
).display:
Allows the user to hide a colum by default. It is possible to dynamically hide or display column by clicking on the configuration button and toggle the columns on/off.name:
Allows the user to change the display name (default display name is defined bytag
).type:
Style of the content.type.tag:
Either a label, a text, or a url.type.class:
Set a label class (e. g.label label-info
). Will be ignored if value class is set.type.values:
{
"name": "slow",
"description": "Overall performance above 200ms",
"class": "label-danger"
}
- The label with the value "slow" has the tooltip "overall performance above 200ms", and will be red ("label-danger")
3. The file comparison-configuration/criteria.json
defines filter criterias for the table data.
tag:
References a level 2 header of the comparison elements (Performance
,Description
,License
,Showcase
)name:
Display name (replacestag
).placeholder:
Placeholder for the select box.values:
Filter values.and_search:
Defines if all filter value must match or at least one.
For each thing, create a markdown file in comparison-elements
.
You can base it on template.md
.
-
Install node.js
-
Intall Java JDK8
-
Install pandoc (Version 1.17.2) pandoc-citeproc
wget https://github.com/jgm/pandoc/releases/download/1.17.2/pandoc-1.17.2-1-amd64.deb sudo dpkg -i pandoc-1.17.2-1-amd64.deb
-
Update npm (sudo):
npm install -g npm
-
Test dependencies:
java -version npm -version
-
npm install
-
npm start
(starts the web page)
The code is licensed under MIT, the content (located at comparison-elements
) under CC0-1.0.
See README-THING.tempalte for a README skeletton for your ultimate-THING-comparison.