A Tool to process .bib
-Files like:
Takes the name of a style (article, inproceedings, book, etc.), a collection of .bib
-Files and a Property (title, author, year, etc.) to sort after, and produces a nicely formatted HTML-File with an overview over all the Publications in the given files matching the given style, ordered by the given ordering.
The Tool uses a JSON-File with rules containing names of known styles and their required and optional fields. :wrench:
The rule-table is easily editable and adding styles or fields will be a breeze. :sparkles:
Boost with a minimum version of 1.50
Follow the official boost instructions for linux/mac or windows to install and compile it on your machine.
CMake with a minimum version of 3.15
Follow the official cmake instructions to get yourself a running version of cmake.
Clone the Repo and Submodules:
```bash $ git clone –recursive git@g:timkante/btool.git ``` ithu b.com
cd into the project:
```bash $ cd btool ```
Create a build directory and cd into it:
```bash $ mkdir build && cd build ```
Run the CMake target:
```bash $ cmake .. ```
Build a target:
5.1. For building the Tests:
```bash $ make btoolTest ```
5.2. For building the Executable:
```bash $ make btool ```
Run a target:
6.1. For running the Tests:
```bash $ ./test/btoolTest ```
6.2. For running the Executable:
```bash $ ./btool <YOUR_ARGUMENTS> ```
Get the executable for your Operating-System from the latest release, rename it to btool and hack away!
-h [ --help ]
print usage message-o [ --output ] arg (="stdout")
pathname for output (default is stdout)-t [ --table ] arg
full pathname of translation-table (can be used for extensive filtering)-i [ --input ] arg
file(s) to handle-H [ --html ]
set output-type to html-X [ --xml ]
set output-type to xml-f [ --filter ] arg
filter output for a style-name(s)-s [ --sort ] arg
sort output for a field--html
or --xml
), if no type is given, plain-text will be used--input
).bib
-files, sorted by author, filtered by translation-table, outputting it to ./index.html
.bib
-files, sorted by author, filtered for articles and books, to stdout If you want to do more complex filtering of elements, not only filtering for styles, maybe using a translation-table can help you.
Providing the Parser such a table, will make it filter for them.
It will only generate Elements that match the constraints given by the table.
So you have the ability to filter for styles with necessary fields and optional fields, Elements that don't have all necessary fields, or fields that are not necessary or optional, will get stripped off.
You can combine translation-table filtering with the --filter
-option if you want to.
The translation-table has to be of the following (JSON) format:
Here's an example:
Also see even bigger example.
technology | purpose | |
---|---|---|
C++ | speed | |
Travis-CI | CI/CD | |
SonarQube/SonarCloud | code-quality | |
CMake | builds | |
Netlify | documentation | |
GitHub | version-control | |
googletest | testing | |
Markdown | non-code-documentation | |
Bootstrap | HTML-Beautification | |
Doxygen | documentation | |
spdlog | logging | |
CTML | HTML-Generation |
Group-Members of Group 1:
Milestone 1 - KW 18
Milestone 2 - KW 19
Milestone 3 - KW 20
Milestone 4 - KW 21
Report - KW 22
Report - KW 23
Report - KW 24
Report - KW 25
Report - KW 26
Report - KW 27
Report - KW 28
Report - KW 29
For the current CI-Status/Report TravisCI
For Code-Analysis: SonarCloud
Documentation: Netlify
Presentation-slides: Netlify