Skip to main content

Convert Typst files into Anki cards automatically.

Project description

Typ2Anki

Demo Video

Typ2Anki is a tool designed to integrate flashcard creation seamlessly into your Typst-based notes. By utilizing a custom Typst package, you can create cards directly in your notes and sync them effortlessly to a selected Anki deck. This enables you to transform study material into flashcards without disrupting your Typst workflow.

  • Create flashcards directly within your Typst documents.
  • Sync these flashcards to a chosen Anki deck effortlessly.
  • Streamlined workflow for note-taking and spaced repetition learning.

Table of Contents

  1. Installation and Configuration

  2. Usage

  3. Troubleshooting

  4. Roadmap

  5. Future Plans

  6. Contributing

  7. License


Installation and Configuration

Installing AnkiConnect

  1. Open Anki and navigate to Tools > Add-ons.
  2. Click Get Add-ons and enter the following code to install AnkiConnect:
    2055492159
    
    Alternatively, visit the AnkiConnect Add-on page to learn more.
  3. Restart Anki to activate the add-on.
  4. Verify that AnkiConnect is running by visiting http://localhost:8765 in your browser. If it loads, the add-on is properly installed and functioning.

Installing the Python Package

  1. Make sure Python 3.8+ is installed on your system.

  2. Install the Typ2Anki package using pip:

    pip install typ2anki
    
  3. Verify the installation:

    typ2anki --help
    

Installing the Typst Package

  1. Add the Typ2Anki package to your Typst document:

    #import "@preview/typ2anki:0.1.0"
    
  2. Place your custom configuration file (ankiconf.typ) in the project directory for consistent flashcard rendering.

    // Custom imports for flashcards
    #import "@preview/pkgs"
    
    #let conf(
      doc,
    ) = {
      // Custom configurations
      doc
    }
    

Usage

Basic Workflow

  1. Create a Typst file with flashcards:

    #card(
      id: "001",
      target_deck: "Typst",
      Q: "What is Typst?",
      A: "A modern typesetting system."
    )
    
  2. Create your ankiconf.typ file with basic configurations:

    // Custom imports for flashcards
    #import "@preview/pkgs"
    
    #let conf(
      doc,
    ) = {
      // Custom configurations
      doc
    }
    
  3. Use Typ2Anki to compile all files in the project directory:

    typ2anki ./path/to/your/project
    
  4. Open your Anki deck to check the newly added flashcards.


Customizing Cards

To modify card appearance, you can define custom card logic:

#let custom-card(
  id: "",
  Q: "",
  A: "",
  ..args
) = {
  card(
    id: id,
    Q: Q,
    A: A,
    container: true,
    show-labels: true
  )
}

Troubleshooting

Common Issues

  • AnkiConnect not responding:

    • Ensure Anki is running and AnkiConnect is installed correctly.
  • Typst file compilation errors:

    • Check for syntax issues in your Typst file.
    • Ensure your ankiconf.typ contains the necessary imports and configurations.

Roadmap

  1. Command to Delete Cards: Implement a feature to remove specific cards from Anki.
  2. Efficiency Improvements: Optimize the syncing process for speed and reliability.
  3. Support for Other Card Types: Expand compatibility to include more complex card formats.

Future Plans

  • Enhance user experience with more robust error handling and syncing options.
  • Broaden integration with Typst to support various output formats.

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests for bug fixes, feature enhancements, or documentation improvements.


License

This project is licensed under the MIT License.


Developed with ❤️ by sgomezsal. Let’s make learning efficient and enjoyable!

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

typ2anki-0.1.1.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

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

typ2anki-0.1.1-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file typ2anki-0.1.1.tar.gz.

File metadata

  • Download URL: typ2anki-0.1.1.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.7

File hashes

Hashes for typ2anki-0.1.1.tar.gz
Algorithm Hash digest
SHA256 1ab8262fd3e075411d3fc32d77bcb46c78f2f044e83b285e11092b63de393142
MD5 482db8f95103a8285a9018160e7dd54d
BLAKE2b-256 21a78dcba9d2577f7dbdc7f6bdf29f708692e5d6479c700493e3343e41080586

See more details on using hashes here.

File details

Details for the file typ2anki-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: typ2anki-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.7

File hashes

Hashes for typ2anki-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9e2c72ef8d609b58a40a273b1dc3c093f1ea4dfd8442f6d4b5422f3938c3126b
MD5 be73eda2e10d2f9c692fca8ef90fc1e9
BLAKE2b-256 d983162580fbcec178bc0714769be1bbafcdecb1f18312d6550c99670c59f501

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