ultimate-comparisons / ultimate-comparison-framework

The base of all ultimate-comparisons. Follow the README and create your own ultimate comparison.
http://ultimate-comparisons.github.io/ultimate-comparison-framework/
MIT License
16 stars 7 forks source link

Ultimate Comparison Framework Checks

This is the ultimate comparison framework written in Angular. It is released on npm as ultimate-comparison.

Scientifically interested? - Read on at our paper The Ultimate Comparison Framework.

Create your own ultimate comparison

  1. Install the ultimate-comparison package globally on your system using npm install --global ultimate-comparison
  2. Create the directory which should contain the comparison and change into it, e. g. with mkdir MY_COMPARISON && cd MY_COMPARISON
  3. Set up your comparison with uc setup
    1. Enter the name of your comparison and press Enter
    2. Enter the semantic version of your comparison and press Enter
    3. Enter a short description of your comparison and press Enter (not required)
  4. Make sure a node_modules directory exists as sub directory.
    • If it doesn't exist look at the error message and run npm install afterwards
    • The error is most likely a malformed name or version of your comparison
  5. Run uc start to start the comparison.

Configuration

The configuration files are located in the configuration directory.

description.md: It contains the description of your comparison which can be seen by visitors. It is located underneath the headline of your comparison. Description location on page

comparison-example.yml: Example configuration file containing comments on fields to explain their meaning.

comparison-default.yml: Default configuration, intended as backup of your local comparison.

comparison.yml: The used configuration. Missing values are taken from comparison-default.yml and written back into this file. A comparison.yml has following attributes:

Define comparison elements

For each thing, create a markdown file in data. You can base it on template.md. If one column depends on a repository (repo-attribute in comparison.yml true), you have to define a ## Repo section and add the repository as first list item, eg:

## Repo
- https://github.com/ultimate-comparisons/ultimate-comparison-BASE

Update your comparison

To update the ultimate comparison framework that your comparison uses, just run npm update in the directory that contains your comparison. It installs the latest version with the same major version number (ie. 2.x.x).

Development hints

When developing on the framework itself, these might be helpful hints:

Linux

Use node 12.

Windows

Development on Windows currently does not work.

License

The code is licensed under MIT, the content (located at data) under CC0-1.0.