Skip to main content

A system for generating lecture notes and slides from a single markdown file, for both HTML and PDF output.

Project description

Lecturemd

A system for generating lecture notes and slides from a single markdown file, for both HTML and PDF output.

Requirements

Installation

Linux

  1. Check your Python version with
    python3 --version
    
    At least version 3.8 is required, but more recent versions are recommended. If needed, update your Python version with your package manager. For example, on Ubuntu or other Debian-based systems, you can update Python with
    sudo apt update
    sudo apt install --only-upgrade python3
    
  2. Install the required packages with
    sudo apt install pandoc pdf2svg imagemagick
    
  3. The recommended installation of LaTeX is TeX Live. This installation can take a long time, especially on slower internet connections. To install TeX Live, run
    sudo apt install texlive-full
    
  4. Install this package with
    pip install lecturemd
    
  5. Verify the installation by running
    lecturemd --help
    

Windows

The recommended route for installing the requirements is to use the chocolatey package manager. If you do not wish to use chocolatey, all required packages can be installed manually. However, when installing Inkscape manually, you must ensure that the Inkscape executable is in your system's PATH. During installation, ensure that the option "Add Inkscape to the system PATH for all users" is selected.

  1. It is optional but highly encouraged to install the Windows Terminal from the Microsoft Store. This terminal provides drastically a better experience than the default Command Prompt.
  2. Install Chocolatey by following the instructions at chocolatey.org.
  3. Open a command prompt with administrator privileges.
  4. Install the required packages with
    choco install python pandoc imagemagick inkscape strawberryperl miktex latexmk
    
  5. Open the start menu and search for "Manage App Execution Aliases".
    1. Ensure that both "App Installer, python.exe" and "App Installer, python3.exe" are disabled.
  6. Open a new command prompt with administrator privileges.
  7. Verify that Python has been correctly installed by running
    python --version
    
    The output should be the version of Python that you installed. If instead the Microsoft Store is opened, refer to step 5.
  8. Install this package with
    pip install lecturemd
    
  9. Verify the installation by running
    lecturemd --help
    

MacOS

Instructions coming soon.

Usage

Creating a New Lecture

To create a new lecture series, open a terminal/command prompt and navigate to the directory where you would like to create the lecture series. Run the following command:

lecturemd new your_lecture_name

replacing your_lecture_name with the name of your lecture series. This command will create a new directory with the name you provided, and populate it with the necessary files and directories.

If the directory already exists, the you will be asked for confirmation to overwrite the existing directory. You can use the option --overwrite or -o to automatically overwrite the existing directory without confirmation, or --non-interactive or -I to fail if the directory already exists.

You can also pass the option --configure or -c to immediately configure the lecture series after creating it. This is equivalent to running

lecturemd new your_lecture_name
cd your_lecture_name
lecturemd configure

See the section on Configuring a Lecture Series for more information.

Configuring a Lecture Series

To configure a lecture series, navigate to the root directory of the lecture series (this will usually be the directory containing the file main.md) and run the following command:

lecturemd configure

This will start an interactive app in the terminal where you can configure the lecture series. Alternatively, you can directly modify the file .lecturemd/lecturemd.yaml in the root directory of the lecture series.

Building the Lecture

To build the notes and slides in pdf and web format, navigate to the root directory of the lecture series and run the following command:

lecturemd build all

Alternatively, you can specify which output formats are built. For example, to build both notes and slides in pdf format, run

lecturemd build pdf

To build only the slides in web format, run

lecturemd build web slides

See lecturemd build --help for all options.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lecturemd-0.1.2.tar.gz (35.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lecturemd-0.1.2-py3-none-any.whl (35.7 MB view details)

Uploaded Python 3

File details

Details for the file lecturemd-0.1.2.tar.gz.

File metadata

  • Download URL: lecturemd-0.1.2.tar.gz
  • Upload date:
  • Size: 35.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.6

File hashes

Hashes for lecturemd-0.1.2.tar.gz
Algorithm Hash digest
SHA256 d3c341e0fd734b6e4e304c20185adfbb70eb9715ff8e5801bca34b9278d3220a
MD5 7c15a2dc8526b1792d09cb26021af9c3
BLAKE2b-256 008db03cc7cfd5758b5bad81d2792aeab4219c214228844ba298f51713646030

See more details on using hashes here.

File details

Details for the file lecturemd-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: lecturemd-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 35.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.6

File hashes

Hashes for lecturemd-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ff4f36f6c445851dca10faed222ab12ba377e1a2b6b22a4c40938566c92ff1f8
MD5 3e977d24598663e49a2a90721d264252
BLAKE2b-256 aa825c18c05bd0f65f23b23e6eed30a2eea3abf5d4cf3e0fd4461bec8614d430

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page