diff --git a/.~lock.parser.py# b/.~lock.parser.py#
new file mode 100644
index 0000000..ffdd189
--- /dev/null
+++ b/.~lock.parser.py#
@@ -0,0 +1 @@
+,chloe,chloe-msi,05.04.2025 12:28,file:///home/jrmer/.config/libreoffice/4;
\ No newline at end of file
diff --git a/README.md b/README.md
index 4f49b39..e93bd01 100644
--- a/README.md
+++ b/README.md
@@ -1,26 +1,38 @@
# python-webgen
-a set of python scripts and html templates to generate blog-style websites
+A set of python scripts and html templates to generate blog-style websites.
+# Usage
----
-## Getting Started
+For built in help, use the `--help` option.
-Welcome to your new KitsuDev Repo, ChloeCat! Feel free to make this place your own!
+## General Usage:
-## Make your first push!
-Once you're ready to push your files, use these commands to get to your spot!
-```bash
-git remote add origin https://kitsunes.dev/ChloeCat/python-webgen.git
-git branch -M main
-git push -uf origin main
-```
+### Basic usage:
+`python webgen.py `
+This will use the default location for the template files (`./templates/`) and the css file (`./templates/stylesheet.css`).
+This will also set the title to simply "Blog", use `--site_title` to change that.
-Once you're all set, please [Make a README](https://www.makeareadme.com/)!
+### Example use:
+`python webgen.py --site_title "Chloe's Blog" --title_all --css_file ~/css/custom_v2.css ~/Blog/posts/ ~/Blog/output/`
----
-Have fun, and happy coding!
+This will generate a site with a title of "Chloe's Blog," which will be applied to the HTML title of all the articles, in addition to the article title.
+It will also use a custom CSS file from `~/css/custom_v2.css` which is different from the default.
+The posts will come from a folder in the `~/Blog/posts/` folder and the completed HTML files will be placed in `~/Blog/output/`.
--- Kio
+## Availible Arguments:
-(p.s. and while you're at it, say hi to pearl.)
+| Argument | Description |
+|-----------------|-----------------------------------------------------------------------------------------------------------------------|
+|`input_path` |The folder to read the markdown files from. |
+|`output_path` |The folder to place the final HTML files in. |
+|`--template_path`|The folder where the template HTML snippets are. Default: `./templates/` |
+|`--css_file` |The location of a css file to copy to the output folder defined in `output_path`. Default: `./templates/stylesheet.css`|
+|`--site_title` |The title shown on the main page. |
+|`--title_all` |If enabled, add the main site title to the HTML Title field on the individual articles. |
+|`-v` |More output. |
+
+# TODO
+- Add support for image folders
+- Handle files correctly :3
+- GUI interface?
diff --git a/webgen.py b/webgen.py
index fa4a680..6a3e93e 100644
--- a/webgen.py
+++ b/webgen.py
@@ -25,6 +25,7 @@ titles = []
for rootDir, dirs, files in os.walk(args.input_path):
for article in files:
+ if not article.endswith(".md"): continue
articles.append(article)
print("\nDiscovering articles...\n")
@@ -54,7 +55,7 @@ for article in articles:
if parser.getMetadata(article)['draft'] == True:
if args.verbose: print('{} is a draft, skipping...'.format(article))
continue
- html = bs(htmls[article]).prettify()
+ html = bs(htmls[article], features="lxml").prettify()
if not os.path.exists(workingDir):
os.makedirs(workingDir)
if args.verbose: print("creating directory {}".format(workingDir))
@@ -80,7 +81,7 @@ for article in sorted_articles:
link = article.split("/")[-1][:-3]
titles.append([title, link])
if args.verbose: print("added {} to titles list with link {}".format(title, link))
-mainPage = bs(stitcher.createMainPage(titles, args.template_path, args.site_title)).prettify()
+mainPage = bs(stitcher.createMainPage(titles, args.template_path, args.site_title), features="lxml").prettify()
print("Generated main page")
print("Writing main page to {}".format(args.output_path))
open(args.output_path + "index.html", 'w').write(mainPage)