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.0.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.0-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: typ2anki-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 015207a60be9c89ece2b4a0916be449d57368e5a8e95cc16f0bfb9ec8c1a6002
MD5 bbc79ecf362ae049beddd74b77fdcf7f
BLAKE2b-256 f66602b05d427ba917b0bff56f4cd64b613e84daa30150b62ff044a60a5d90e2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: typ2anki-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.4 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d229f74b23b5ccbc049a860e05f5de7bf7d93de002d6fa83145e357e9afd8016
MD5 19b36f800abdeed113fb8e7d11b9c914
BLAKE2b-256 20285e1fb5686fe27edfcfaa3b9b27026a48d8f120ba76ce638b057687fa4830

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