Skip to content

searleser97/mkcpr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mkcpr · GPLv3 license PyPI version fury.io

Competitive Programming Reference Builder Tool

About

mkcpr is a command line utility written in python that helps you to build your Competitive Programming Reference in PDF.

This command will generate a LaTex formatted file, which will be ready to be compiled into your new Competitive Programming Reference, using any online or local LaTex compiler of your preference.

Usage

  • In your working directory run:
mkcpr [-c|-h]

Notes:

  • The configuration file mkcpr-config.json should be in the same working directory. (Same path where you run mkcpr).
  • -c flag creates a new configuration file mkcpr-config.json in the current directory.
  • -h displays help.

Requirements

  • python 3.5+
  • Online or local LaTex compiler
  • Folder containing your codes for programming competitions
  • LaTex template (you can use the one provided in this repository Example/Template.tex)
  • Configuration File mkcpr-config.json (described below)

Installation

  1. Run:
  pip install mkcpr --user
  1. Copy the LaTex template Template.tex located in the Example folder of this repository to your working directory.
  2. In your working directory run mkcpr -c to create a new configuration file mkcpr-config.json.
  3. Update mkcpr-config.json and Template.tex according to your needs. See the Configuration file options section for reference.
  4. You are now ready to run mkcpr in your working directory.

Configuration File Options

{
  "code_folder": "/home/san/Projects/mkcpr/Example/CodeFolder", // Path to your actual code for reference
  "template_path": "/home/san/Projects/mkcpr/Example/Template.tex", // LaTex template path
  "output_file_path": "/home/san/Projects/mkcpr/Example/Output.tex", // path where you want the generated LaTex code to be
  "excluded": ["__pycache__", ".vscode"], // folders not to consider
  "columns": 2, // number of columns in your reference
  "template_placeholder": "CODE HERE", // text to replace in your template
  "sort_before": ["Data Structures"], // files or folders will appear first
  "sort_after": ["Extras"], // file or folders will appear at the end
}

Features

  • One single command and your reference will be ready to compile
  • Build it with your own style
  • support for most file extensions. (.cpp, .py, .java, .tex, .sh, ...)
  • Build your reference just from your competitive programming code folder.
Folder Structure Table Of Contents
  • Forget about undesired line breaks by specifying the lines of code you want together in the same page with a single comment before your lines of code.

Override Default Ordering

You can specify the order of files and folders by creating a file called .mkcpr_order in the directory where you want to override the default ordering (lexicographic). This file should contain the name of all the files and folders that are in the same directory sorted as you desire.

Example: https://github.com/searleser97/Algorithms-In-A-White-Box/blob/master/Book/.mkcpr_order

Example

You can see an example of how a working directory would look like in a real Competitive Progamming Reference HERE

License

mkcpr is licensed under the GNU General Public License v3.0

About

Competitive Programming Reference Builder Tool

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published