+++ /dev/null
-.DEFAULT_GOAL := local
-
-global:
- pip install .
- mkdir -p /usr/share/man/man1/
- cp man/lightcards.1 ~/.local/share/man/man1/
- cp ./lightcards.sh /usr/local/bin/lightcards
-
-local:
- pip install .
- mkdir -p ~/.local/share/man/man1/
- cp man/lightcards.1 ~/.local/share/man/man1/
- cp ./lightcards.sh ~/.local/bin/lightcards
-
-global-uninstall:
- pip uninstall lightcards
- rm /usr/local/bin/lightcards
-
-local-uninstall:
- pip uninstall lightcards
- rm ~/.local/bin/lightcards
Terminal flashcards from Markdown.
## Installation
-Switch to newest version: `git checkout $(git tag | tail -n 1)`, or use the current development state.
+### From PyPI
+`pip install lightcards`
-`make` to install for the current user, or `make global` to install for the whole system.
+### From Git
+```
+git clone https://git.sr.ht/~armaan/lightcards
+cd lightcards
+git checkout $(git tag | tail -n 1) # Don't include to use development version
+`pip install .`
+```
## Usage
see `lightcards --help`
--- /dev/null
+#!/usr/bin/env python
+# Converts .kvtml KWordQuiz files to HTML
+
+import argparse
+from bs4 import BeautifulSoup
+
+
+def parse_args():
+ parser = argparse.ArgumentParser(
+ description="Convert KWordQuiz file into Markdown for Lightcards")
+ parser.add_argument("inp", metavar="input file", type=str, nargs=1)
+ parser.add_argument("outp", metavar="output file", type=str, nargs=1)
+ return parser.parse_args()
+
+
+def main():
+ args = parse_args()
+ with open(args.inp[0], "r", encoding="utf-8") as input_file:
+ soup = BeautifulSoup(input_file, "lxml")
+
+ headers = [x.get_text().split("\n")[1] for x in soup.find_all("identifier")]
+ body = soup.find_all("entry")
+ col1 = [x.find("translation", {"id": "0"}) for x in body]
+ col2 = [x.find("translation", {"id": "1"}) for x in body]
+
+ html = f"<html><table><tr><th>{headers[0]}</th><th>{headers[1]}</th></tr>"
+ for i in range(len(col1)):
+ try:
+ html += f"<html><table><tr><td>{col1[i].get_text().rstrip()}</td>"
+ html += f"<td>{col2[i].get_text().rstrip()}</td></tr>"
+ except:
+ pass
+
+ with open(args.outp[0], "w", encoding="utf-8") as output_file:
+ output_file.write(html)
+
+if __name__ == "__main__":
+ main()
--- /dev/null
+#!/usr/bin/env sh
+python3 -m lightcards ${@}
+++ /dev/null
-#!/usr/bin/env python
-# Converts .kvtml KWordQuiz files to HTML
-
-import argparse
-from bs4 import BeautifulSoup
-
-
-def parse_args():
- parser = argparse.ArgumentParser(
- description="Convert KWordQuiz file into Markdown for Lightcards")
- parser.add_argument("inp", metavar="input file", type=str, nargs=1)
- parser.add_argument("outp", metavar="output file", type=str, nargs=1)
- return parser.parse_args()
-
-
-def main():
- args = parse_args()
- with open(args.inp[0], "r", encoding="utf-8") as input_file:
- soup = BeautifulSoup(input_file, "lxml")
-
- headers = [x.get_text().split("\n")[1] for x in soup.find_all("identifier")]
- body = soup.find_all("entry")
- col1 = [x.find("translation", {"id": "0"}) for x in body]
- col2 = [x.find("translation", {"id": "1"}) for x in body]
-
- html = f"<html><table><tr><th>{headers[0]}</th><th>{headers[1]}</th></tr>"
- for i in range(len(col1)):
- try:
- html += f"<html><table><tr><td>{col1[i].get_text().rstrip()}</td>"
- html += f"<td>{col2[i].get_text().rstrip()}</td></tr>"
- except:
- pass
-
- with open(args.outp[0], "w", encoding="utf-8") as output_file:
- output_file.write(html)
-
-if __name__ == "__main__":
- main()
+++ /dev/null
-#!/usr/bin/env sh
-python3 -m lightcards ${@}
license="MIT",
packages=["lightcards"],
install_requires=["beautifulsoup4", "markdown"],
+ data_files=[("man/man1", ["man/lightcards.1"])],
+ scripts=['bin/lightcards'],
classifiers=[
"Development Status :: 4 - Beta",
"Intended Audience :: Other Audience",