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.3.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.3-py3-none-any.whl (35.7 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for lecturemd-0.1.3.tar.gz
Algorithm Hash digest
SHA256 fc6239425706d1be65e8d7e0dec0552321146ca795f2a1ff8e29cec17ac7ceda
MD5 0b46882be1c3b123a6e97b358a63995c
BLAKE2b-256 fdcddacf23478d72afb7f105f20b2a61009f32bece40a74824e8f4b0ae3b11c5

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for lecturemd-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2be5d4ca0fd114a943acab48055abd840e33c630f9968661255a0073431be8e7
MD5 545bc67670ad5f75681ecfb259030154
BLAKE2b-256 8dbb0f78363bb7f2fcd0da38be9efda250bb84404fe634c2944a460d9b6da217

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