From 3227771f7e6be66feeb3e494aa662b71b7f85b56 Mon Sep 17 00:00:00 2001 From: Anish Lakhwara Date: Fri, 25 Mar 2022 01:48:14 +1000 Subject: [PATCH] restructuring and cleaning up debt --- src/{kitaab-public => }/TODO | 0 .../asset => assets}/android-icon-144x144.png | Bin .../asset => assets}/android-icon-192x192.png | Bin .../asset => assets}/android-icon-36x36.png | Bin .../asset => assets}/android-icon-48x48.png | Bin .../asset => assets}/android-icon-72x72.png | Bin .../asset => assets}/android-icon-96x96.png | Bin .../asset => assets}/apple-icon-114x114.png | Bin .../asset => assets}/apple-icon-120x120.png | Bin .../asset => assets}/apple-icon-144x144.png | Bin .../asset => assets}/apple-icon-152x152.png | Bin .../asset => assets}/apple-icon-180x180.png | Bin .../asset => assets}/apple-icon-57x57.png | Bin .../asset => assets}/apple-icon-60x60.png | Bin .../asset => assets}/apple-icon-72x72.png | Bin .../asset => assets}/apple-icon-76x76.png | Bin .../apple-icon-precomposed.png | Bin .../asset => assets}/apple-icon.png | Bin .../asset => assets}/favicon-16x16.png | Bin .../asset => assets}/favicon-32x32.png | Bin .../asset => assets}/favicon-96x96.png | Bin .../asset => assets}/favicon.ico | Bin .../asset => assets}/header.css | 0 src/{kitaab-public/asset => assets}/main.css | 0 .../asset => assets}/ms-icon-144x144.png | Bin .../asset => assets}/ms-icon-150x150.png | Bin .../asset => assets}/ms-icon-310x310.png | Bin .../asset => assets}/ms-icon-70x70.png | Bin src/{kitaab-public/asset => assets}/rss.png | Bin .../asset => assets}/social.png | Bin src/{kitaab-public/asset => assets}/style.css | 0 src/{kitaab-public => }/build/README.md | 0 src/{kitaab-public => build}/__init__.py | 0 .../build/build.py => build/kitaab.py} | 137 +++++++++++------- src/{kitaab-public => }/build/mistune.py | 0 .../partial/index_table.html | 0 src/{kitaab-public => build}/partial/item.xml | 0 .../partial/list.html | 0 .../partial/main.html | 0 src/{kitaab-public => build}/partial/nav.html | 0 src/{kitaab-public => build}/partial/rss.xml | 0 src/{kitaab-public/build => grab}/__init__.py | 0 src/{kitaab-public => }/grab/convert.py | 0 .../grab/makePublic.py => grab/kitaab.py} | 66 +-------- .../grab/network-builder.py | 0 src/grab/network.py | 35 +++++ src/{kitaab-public => }/grab/tree.py | 0 src/kitaab-public/.gitignore | 2 - src/kitaab-public/build/config.py | 22 --- src/kitaab-public/shared/__init__.py | 0 src/kitaab-public/shared/config.py | 23 --- src/{kitaab-public => }/main.py | 0 .../media/2c5030bc48b4bfa9.jpeg | Bin src/media/big-self.jpg | Bin 0 -> 99212 bytes src/{kitaab-public => }/media/blue-man.png | Bin src/{kitaab-public => }/media/chihiro.jpg | Bin .../media/chisai_square.png | Bin src/{kitaab-public => }/media/city.jpeg | Bin src/{kitaab-public => }/media/kaguya.jpg | Bin src/{kitaab-public => }/media/lady.jpeg | Bin src/{kitaab-public => }/media/self.jpg | Bin .../raw/1ProjectAMonth.wiki | 0 src/{kitaab-public => }/raw/1thingaday.wiki | 0 src/{kitaab-public => }/raw/200921-1454.wiki | 0 src/{kitaab-public => }/raw/200921-1454a.wiki | 0 src/{kitaab-public => }/raw/200926-2245.wiki | 0 src/{kitaab-public => }/raw/200927-0010.wiki | 0 src/{kitaab-public => }/raw/200927-0028.wiki | 0 src/{kitaab-public => }/raw/200927-0111.wiki | 0 src/{kitaab-public => }/raw/200927-0149.wiki | 0 src/{kitaab-public => }/raw/200927-0158.wiki | 0 src/{kitaab-public => }/raw/200927-1627.wiki | 0 src/{kitaab-public => }/raw/200927-1651.wiki | 0 src/{kitaab-public => }/raw/200927-1730.wiki | 0 src/{kitaab-public => }/raw/200927-1936.wiki | 0 src/{kitaab-public => }/raw/200927-2151.wiki | 0 src/{kitaab-public => }/raw/200927-2157.wiki | 0 src/{kitaab-public => }/raw/200927-2244.wiki | 0 src/{kitaab-public => }/raw/200927-2247.wiki | Bin src/{kitaab-public => }/raw/200927-2247a.wiki | 0 src/{kitaab-public => }/raw/200928-0048.wiki | 0 src/{kitaab-public => }/raw/200928-0059.wiki | 0 src/{kitaab-public => }/raw/200928-1351.wiki | 0 src/{kitaab-public => }/raw/200929-2026.wiki | 0 src/{kitaab-public => }/raw/200930-1921.wiki | 0 src/{kitaab-public => }/raw/200930-2316.wiki | 0 src/{kitaab-public => }/raw/200930-2317.wiki | 0 src/{kitaab-public => }/raw/200930-2319.wiki | 0 src/{kitaab-public => }/raw/201001-1906.wiki | 0 src/{kitaab-public => }/raw/201001-1949.wiki | 0 src/{kitaab-public => }/raw/201003-1607.wiki | 0 src/{kitaab-public => }/raw/201006-2310.wiki | 0 src/{kitaab-public => }/raw/201013-0546.wiki | 0 src/{kitaab-public => }/raw/201013-2143.wiki | 0 src/{kitaab-public => }/raw/201013-2144.wiki | 0 src/{kitaab-public => }/raw/201013-2206.wiki | 0 src/{kitaab-public => }/raw/201013-2207.wiki | 0 src/{kitaab-public => }/raw/201015-2222.wiki | 0 src/{kitaab-public => }/raw/201015-2226.wiki | 0 src/{kitaab-public => }/raw/201015-2229.wiki | 0 src/{kitaab-public => }/raw/201015-2233.wiki | 0 src/{kitaab-public => }/raw/201015-2306.wiki | 0 src/{kitaab-public => }/raw/201015-2306a.wiki | 0 src/{kitaab-public => }/raw/201015-2313.wiki | 0 src/{kitaab-public => }/raw/201017-1546.wiki | 0 src/{kitaab-public => }/raw/201018-2128.wiki | 0 src/{kitaab-public => }/raw/201018-2141.wiki | 0 src/{kitaab-public => }/raw/201018-2147.wiki | 0 src/{kitaab-public => }/raw/201018-2232.wiki | 0 src/{kitaab-public => }/raw/201018-2304.wiki | 0 src/{kitaab-public => }/raw/201019-1905.wiki | 0 src/{kitaab-public => }/raw/201019-2020.wiki | 0 src/{kitaab-public => }/raw/201019-2038.wiki | 0 src/{kitaab-public => }/raw/201019-2220.wiki | 0 src/{kitaab-public => }/raw/201019-2221.wiki | 0 src/{kitaab-public => }/raw/201020-1926.wiki | 0 src/{kitaab-public => }/raw/201021-2043.wiki | 0 src/{kitaab-public => }/raw/201021-2102.wiki | 0 src/{kitaab-public => }/raw/201021-2233.wiki | 0 src/{kitaab-public => }/raw/201025-2352.wiki | 0 src/{kitaab-public => }/raw/201031-0042.wiki | 0 src/{kitaab-public => }/raw/201031-0114.wiki | 0 src/{kitaab-public => }/raw/201103-2109.wiki | 0 src/{kitaab-public => }/raw/201105-1933.wiki | 0 src/{kitaab-public => }/raw/201105-1945.wiki | 0 src/{kitaab-public => }/raw/201105-2043.wiki | 0 src/{kitaab-public => }/raw/201105-2104.wiki | 0 src/{kitaab-public => }/raw/201105-2306.wiki | 0 src/{kitaab-public => }/raw/201105-2309.wiki | 0 src/{kitaab-public => }/raw/201105-2316.wiki | 0 src/{kitaab-public => }/raw/201105-2321.wiki | 0 src/{kitaab-public => }/raw/201105-2338.wiki | 0 src/{kitaab-public => }/raw/201106-0258.wiki | 0 src/{kitaab-public => }/raw/201106-0311.wiki | 0 src/{kitaab-public => }/raw/201108-0205.wiki | 0 src/{kitaab-public => }/raw/201118-1520.wiki | 0 src/{kitaab-public => }/raw/201118-1522.wiki | 0 src/{kitaab-public => }/raw/201119-1157.wiki | 0 src/{kitaab-public => }/raw/201121-1417.wiki | 0 src/{kitaab-public => }/raw/201122-2122.wiki | 0 src/{kitaab-public => }/raw/201122-2123.wiki | 0 src/{kitaab-public => }/raw/201122-2142.wiki | 0 src/{kitaab-public => }/raw/201128-1301.wiki | 0 src/{kitaab-public => }/raw/201128-1326.wiki | 0 src/{kitaab-public => }/raw/201128-1333.wiki | 0 src/{kitaab-public => }/raw/201128-1333a.wiki | 0 src/{kitaab-public => }/raw/201128-1456.wiki | 0 src/{kitaab-public => }/raw/201129-2055.wiki | 0 src/{kitaab-public => }/raw/201206-2150.wiki | 0 src/{kitaab-public => }/raw/201213-1641.wiki | 0 src/{kitaab-public => }/raw/201215-1308.wiki | 0 src/{kitaab-public => }/raw/201215-1310.wiki | 0 src/{kitaab-public => }/raw/201218-1505.wiki | 0 src/{kitaab-public => }/raw/201219-1825.wiki | 0 src/{kitaab-public => }/raw/201219-1839.wiki | 0 src/{kitaab-public => }/raw/201223-0101.wiki | 0 src/{kitaab-public => }/raw/201229-1053.wiki | 0 .../raw/2019-resolutions.wiki | 0 .../raw/20201106-1540.wiki | 0 src/{kitaab-public => }/raw/210102-2223.wiki | 0 src/{kitaab-public => }/raw/210103-2319.wiki | 0 src/{kitaab-public => }/raw/210109-2114.wiki | 0 src/{kitaab-public => }/raw/210115-1804.wiki | 0 src/{kitaab-public => }/raw/210115-1809.wiki | 0 src/{kitaab-public => }/raw/210123-1414.wiki | 0 src/{kitaab-public => }/raw/210123-1417.wiki | 0 src/{kitaab-public => }/raw/210124-0033.wiki | 0 src/{kitaab-public => }/raw/210124-0135.wiki | 0 src/{kitaab-public => }/raw/210124-0140.wiki | 0 src/{kitaab-public => }/raw/210124-0144.wiki | 0 src/{kitaab-public => }/raw/210124-0407.wiki | 0 src/{kitaab-public => }/raw/210222-0046.wiki | 0 src/{kitaab-public => }/raw/210222-0114.wiki | 0 src/{kitaab-public => }/raw/210314-1815.wiki | 0 src/{kitaab-public => }/raw/210407-1501.wiki | 0 src/{kitaab-public => }/raw/210409-1109.wiki | 0 src/{kitaab-public => }/raw/210416-2252.wiki | 0 src/{kitaab-public => }/raw/210417-0308.wiki | 0 src/{kitaab-public => }/raw/210417-0322.wiki | 0 src/{kitaab-public => }/raw/210417-0324.wiki | 0 src/{kitaab-public => }/raw/210417-1243.wiki | 0 src/{kitaab-public => }/raw/210509-1322.wiki | 0 src/{kitaab-public => }/raw/210522-1436.wiki | 0 src/{kitaab-public => }/raw/210530-1305.wiki | 0 src/{kitaab-public => }/raw/210611-1631.wiki | 0 src/{kitaab-public => }/raw/210618-1038.wiki | 0 src/{kitaab-public => }/raw/210618-1227.wiki | 0 src/{kitaab-public => }/raw/210707-0544.wiki | 0 src/{kitaab-public => }/raw/210731-2033.wiki | 0 src/{kitaab-public => }/raw/210829-0712.wiki | 0 src/{kitaab-public => }/raw/211004-2002.wiki | 0 src/{kitaab-public => }/raw/211022-1728.wiki | 0 src/{kitaab-public => }/raw/211029-1128.wiki | 0 src/{kitaab-public => }/raw/211029-1324.wiki | 0 src/{kitaab-public => }/raw/211102-2358.wiki | 0 src/{kitaab-public => }/raw/211104-0150.wiki | 0 src/{kitaab-public => }/raw/211104-0210.wiki | 0 src/{kitaab-public => }/raw/211107-2158.wiki | 0 src/{kitaab-public => }/raw/211107-2309.wiki | 0 src/{kitaab-public => }/raw/211116-2244.wiki | 0 src/{kitaab-public => }/raw/211116-2255.wiki | 0 src/{kitaab-public => }/raw/211120-0228.wiki | 0 src/{kitaab-public => }/raw/211121-0144.wiki | 0 src/{kitaab-public => }/raw/211130-2052.wiki | 0 src/{kitaab-public => }/raw/211204-0155.wiki | 0 src/{kitaab-public => }/raw/211211-2254.wiki | 0 src/{kitaab-public => }/raw/211212-1150.wiki | 0 src/{kitaab-public => }/raw/211212-1939.wiki | 0 src/{kitaab-public => }/raw/211218-0150.wiki | 0 src/{kitaab-public => }/raw/211220-1658.wiki | 0 src/{kitaab-public => }/raw/211220-1838.wiki | 0 src/{kitaab-public => }/raw/211226-1526.wiki | 0 src/{kitaab-public => }/raw/211227-2301.wiki | 0 src/{kitaab-public => }/raw/220104-2114.wiki | 0 src/{kitaab-public => }/raw/220106-2211.wiki | 0 src/{kitaab-public => }/raw/220115-1438.wiki | 0 src/{kitaab-public => }/raw/220116-0453.wiki | 0 src/{kitaab-public => }/raw/220116-0509.wiki | 0 src/{kitaab-public => }/raw/220117-0131.wiki | 0 src/{kitaab-public => }/raw/220122-0146.wiki | 0 src/{kitaab-public => }/raw/220128-0244.wiki | 0 src/{kitaab-public => }/raw/220203-0332.wiki | 0 src/{kitaab-public => }/raw/220208-2310.wiki | 0 src/{kitaab-public => }/raw/220212-1401.wiki | 0 src/{kitaab-public => }/raw/220213-2040.wiki | 0 src/{kitaab-public => }/raw/220226-0007.wiki | 0 src/{kitaab-public => }/raw/220226-2025.wiki | 0 src/{kitaab-public => }/raw/2420-w3.wiki | 0 src/{kitaab-public => }/raw/2420-w4.wiki | 0 src/{kitaab-public => }/raw/2420.wiki | 0 src/{kitaab-public => }/raw/4450-week2.wiki | 0 src/{kitaab-public => }/raw/4880-w1.wiki | 0 src/{kitaab-public => }/raw/Archive.wiki | 0 src/{kitaab-public => }/raw/Backups.wiki | 0 ...sync-conflict-20201019-094152-KZ7HRBJ.wiki | Bin src/{kitaab-public => }/raw/Blog.wiki | Bin src/{kitaab-public => }/raw/COMP2420.wiki | 0 src/{kitaab-public => }/raw/COMP4450.wiki | 0 src/{kitaab-public => }/raw/COMP4880.wiki | 0 .../raw/Expand-Your-We.wiki | 0 src/{kitaab-public => }/raw/Experiments.wiki | 0 src/{kitaab-public => }/raw/Fava.wiki | 0 src/{kitaab-public => }/raw/HUMN1001.wiki | 0 .../raw/HackingArtOfExploitation.wiki | 0 .../raw/Industrial-Ops.wiki | 0 ...sync-conflict-20201012-130837-KZ7HRBJ.wiki | 0 .../raw/Infrastructure.wiki | 0 src/{kitaab-public => }/raw/Kitaab.wiki | 0 src/{kitaab-public => }/raw/Nextcloud.wiki | 0 src/{kitaab-public => }/raw/Norns.wiki | 0 src/{kitaab-public => }/raw/ORCA.wiki | 0 src/{kitaab-public => }/raw/Punya.wiki | 0 src/{kitaab-public => }/raw/Puralek.wiki | 0 .../raw/ReverseEngineering.wiki | 0 .../raw/SM-jira-meeting-notes.wiki | 0 src/{kitaab-public => }/raw/SQLi.wiki | 0 src/{kitaab-public => }/raw/Uni.wiki | 0 src/{kitaab-public => }/raw/Website.wiki | 0 ...sync-conflict-20210105-170339-3AWSEIW.wiki | 0 ...sync-conflict-20210105-172913-3AWSEIW.wiki | 0 src/{kitaab-public => }/raw/Writing.wiki | 0 src/{kitaab-public => }/raw/XSS.wiki | 0 src/{kitaab-public => }/raw/Yaad.wiki | 0 src/{kitaab-public => }/raw/aardwolf.wiki | 0 src/{kitaab-public => }/raw/alert-matrix.wiki | 0 .../raw/america-travel-2018.wiki | 0 src/{kitaab-public => }/raw/auggar.wiki | 0 src/{kitaab-public => }/raw/auto-curate.wiki | 0 src/{kitaab-public => }/raw/aws-tail.wiki | 0 src/{kitaab-public => }/raw/baking.wiki | 0 src/{kitaab-public => }/raw/blog.wiki | Bin src/{kitaab-public => }/raw/bots.wiki | 0 src/{kitaab-public => }/raw/bowl.wiki | 0 src/{kitaab-public => }/raw/box.wiki | 0 src/{kitaab-public => }/raw/bread.wiki | 0 src/{kitaab-public => }/raw/brisbane.wiki | 0 src/{kitaab-public => }/raw/brooyar2020.wiki | 0 src/{kitaab-public => }/raw/canberra2020.wiki | 0 src/{kitaab-public => }/raw/cherry-pick.wiki | 0 src/{kitaab-public => }/raw/chores.wiki | 0 .../raw/click-to-jira.wiki | 0 src/{kitaab-public => }/raw/coffee.wiki | Bin ...sync-conflict-20201003-153925-KZ7HRBJ.wiki | 0 .../raw/contributions.wiki | 0 src/{kitaab-public => }/raw/counsellor.wiki | 0 src/{kitaab-public => }/raw/craft.wiki | 0 src/{kitaab-public => }/raw/crafts.wiki | 0 src/{kitaab-public => }/raw/css.wiki | 0 src/{kitaab-public => }/raw/cube.wiki | 0 src/{kitaab-public => }/raw/curve.wiki | 0 src/{kitaab-public => }/raw/datalife.wiki | Bin src/{kitaab-public => }/raw/dev.wiki | 0 src/{kitaab-public => }/raw/django.wiki | 0 src/{kitaab-public => }/raw/dmi.wiki | 0 src/{kitaab-public => }/raw/dot.wiki | 0 src/{kitaab-public => }/raw/dotgarden.wiki | 0 src/{kitaab-public => }/raw/electronics.wiki | 0 src/{kitaab-public => }/raw/fermentation.wiki | 0 src/{kitaab-public => }/raw/finances.wiki | 0 src/{kitaab-public => }/raw/gardening.wiki | Bin src/{kitaab-public => }/raw/generative.wiki | 0 src/{kitaab-public => }/raw/goals.wiki | 0 src/{kitaab-public => }/raw/godemodemay.wiki | 0 src/{kitaab-public => }/raw/godmodemay.wiki | Bin src/{kitaab-public => }/raw/grasp.wiki | 0 src/{kitaab-public => }/raw/gratitude.wiki | Bin ...sync-conflict-20210102-225658-LX5ZRTJ.wiki | 0 src/{kitaab-public => }/raw/groceries.wiki | 0 src/{kitaab-public => }/raw/habitsGtk.wiki | 0 src/{kitaab-public => }/raw/hack.wiki | 0 src/{kitaab-public => }/raw/hacker101.wiki | 0 src/{kitaab-public => }/raw/helix.wiki | 0 .../raw/hitman-roguelike.wiki | 0 src/{kitaab-public => }/raw/home.wiki | 0 .../raw/humn1001-week3.wiki | 0 src/{kitaab-public => }/raw/hyperplane.wiki | 0 src/{kitaab-public => }/raw/ideas.wiki | 0 src/{kitaab-public => }/raw/index.wiki | 0 src/{kitaab-public => }/raw/india-2018.wiki | 0 src/{kitaab-public => }/raw/indieWeb.wiki | 0 src/{kitaab-public => }/raw/intro.wiki | 0 src/{kitaab-public => }/raw/isit420yet.wiki | 0 src/{kitaab-public => }/raw/job.wiki | 0 src/{kitaab-public => }/raw/just so.wiki | 0 src/{kitaab-public => }/raw/kendrit-vim.wiki | 0 src/{kitaab-public => }/raw/kendrit.wiki | 0 src/{kitaab-public => }/raw/korea2019.wiki | 0 src/{kitaab-public => }/raw/lifeTracker.wiki | 0 src/{kitaab-public => }/raw/line.wiki | 0 src/{kitaab-public => }/raw/link-store.wiki | 0 src/{kitaab-public => }/raw/linux.wiki | 0 src/{kitaab-public => }/raw/log.wiki | 0 src/{kitaab-public => }/raw/maze.wiki | 0 src/{kitaab-public => }/raw/media.wiki | 0 src/{kitaab-public => }/raw/memex.wiki | 0 src/{kitaab-public => }/raw/meta.wiki | 0 src/{kitaab-public => }/raw/morning-list.wiki | Bin src/{kitaab-public => }/raw/mossnet.wiki | 0 src/{kitaab-public => }/raw/moving.wiki | Bin src/{kitaab-public => }/raw/nadir.wiki | 0 src/{kitaab-public => }/raw/newpage.wiki | 0 src/{kitaab-public => }/raw/news-agg.wiki | 0 src/{kitaab-public => }/raw/nix-lang.wiki | 0 src/{kitaab-public => }/raw/nixOS.wiki | 0 src/{kitaab-public => }/raw/nixpkgs.wiki | 0 src/{kitaab-public => }/raw/notes..wiki | 0 src/{kitaab-public => }/raw/now.wiki | 0 src/{kitaab-public => }/raw/ops.wiki | 0 src/{kitaab-public => }/raw/overthewire.wiki | 0 src/{kitaab-public => }/raw/pasta.wiki | 0 src/{kitaab-public => }/raw/pebble.wiki | 0 src/{kitaab-public => }/raw/pentagon.wiki | 0 src/{kitaab-public => }/raw/pipeline.wiki | 0 src/{kitaab-public => }/raw/processisng.wiki | 0 src/{kitaab-public => }/raw/psql.wiki | 0 ...sync-conflict-20201012-130834-LX5ZRTJ.wiki | 0 src/{kitaab-public => }/raw/purchases.wiki | 0 .../raw/python-ransomware.wiki | 0 src/{kitaab-public => }/raw/python.wiki | 0 src/{kitaab-public => }/raw/quotes.wiki | 0 src/{kitaab-public => }/raw/rectangle.wiki | 0 src/{kitaab-public => }/raw/reflection.wiki | Bin src/{kitaab-public => }/raw/riya.wiki | 0 src/{kitaab-public => }/raw/rss2elastic.wiki | 0 src/{kitaab-public => }/raw/sale.wiki | 0 src/{kitaab-public => }/raw/sealight.xyz.wiki | 0 src/{kitaab-public => }/raw/see.wiki | 0 src/{kitaab-public => }/raw/shaders.wiki | 0 src/{kitaab-public => }/raw/sketch-build.wiki | Bin .../raw/smashstock2019.wiki | 0 src/{kitaab-public => }/raw/sphere.wiki | 0 src/{kitaab-public => }/raw/strategy.wiki | 0 .../raw/sydney-april-2019.wiki | 0 src/{kitaab-public => }/raw/sydney2021.wiki | 0 src/{kitaab-public => }/raw/synths.wiki | 0 src/{kitaab-public => }/raw/td-reporting.wiki | 0 src/{kitaab-public => }/raw/tidalcycles.wiki | 0 src/{kitaab-public => }/raw/tinder.wiki | Bin src/{kitaab-public => }/raw/travel.wiki | Bin src/{kitaab-public => }/raw/vim-tidal.wiki | 0 src/{kitaab-public => }/raw/vim-zettel.wiki | 0 src/{kitaab-public => }/raw/vim2nix.wiki | 0 src/{kitaab-public => }/raw/wallabag.wiki | 0 src/{kitaab-public => }/raw/way.wiki | 0 src/{kitaab-public => }/raw/web-devel.wiki | 0 .../raw/webAppHacking.wiki | 0 src/{kitaab-public => }/raw/webdev.wiki | 0 src/{kitaab-public => }/raw/webnotes.wiki | Bin src/{kitaab-public => }/raw/webquotes.wiki | 0 src/{kitaab-public => }/raw/week1.wiki | 0 src/{kitaab-public => }/raw/weights.wiki | Bin src/{kitaab-public => }/raw/work.wiki | 0 src/{kitaab-public => }/raw/writing.wiki | 0 src/{kitaab-public => }/readme.md | 0 src/setup.py | 3 +- src/{kitaab-public => }/shared/TagHelper.py | 30 +++- .../grab => shared}/__init__.py | 0 src/shared/config.py | 25 ++++ src/shared/helpers.py | 13 ++ .../grab => shared}/tag-fixer.py | 31 ++-- 400 files changed, 204 insertions(+), 183 deletions(-) rename src/{kitaab-public => }/TODO (100%) rename src/{kitaab-public/asset => assets}/android-icon-144x144.png (100%) rename src/{kitaab-public/asset => assets}/android-icon-192x192.png (100%) rename src/{kitaab-public/asset => assets}/android-icon-36x36.png (100%) rename src/{kitaab-public/asset => assets}/android-icon-48x48.png (100%) rename src/{kitaab-public/asset => assets}/android-icon-72x72.png (100%) rename src/{kitaab-public/asset => assets}/android-icon-96x96.png (100%) rename src/{kitaab-public/asset => assets}/apple-icon-114x114.png (100%) rename src/{kitaab-public/asset => assets}/apple-icon-120x120.png (100%) rename src/{kitaab-public/asset => assets}/apple-icon-144x144.png (100%) rename src/{kitaab-public/asset => assets}/apple-icon-152x152.png (100%) rename src/{kitaab-public/asset => assets}/apple-icon-180x180.png (100%) rename src/{kitaab-public/asset => assets}/apple-icon-57x57.png (100%) rename src/{kitaab-public/asset => assets}/apple-icon-60x60.png (100%) rename src/{kitaab-public/asset => assets}/apple-icon-72x72.png (100%) rename src/{kitaab-public/asset => assets}/apple-icon-76x76.png (100%) rename src/{kitaab-public/asset => assets}/apple-icon-precomposed.png (100%) rename src/{kitaab-public/asset => assets}/apple-icon.png (100%) rename src/{kitaab-public/asset => assets}/favicon-16x16.png (100%) rename src/{kitaab-public/asset => assets}/favicon-32x32.png (100%) rename src/{kitaab-public/asset => assets}/favicon-96x96.png (100%) rename src/{kitaab-public/asset => assets}/favicon.ico (100%) rename src/{kitaab-public/asset => assets}/header.css (100%) rename src/{kitaab-public/asset => assets}/main.css (100%) rename src/{kitaab-public/asset => assets}/ms-icon-144x144.png (100%) rename src/{kitaab-public/asset => assets}/ms-icon-150x150.png (100%) rename src/{kitaab-public/asset => assets}/ms-icon-310x310.png (100%) rename src/{kitaab-public/asset => assets}/ms-icon-70x70.png (100%) rename src/{kitaab-public/asset => assets}/rss.png (100%) rename src/{kitaab-public/asset => assets}/social.png (100%) rename src/{kitaab-public/asset => assets}/style.css (100%) rename src/{kitaab-public => }/build/README.md (100%) rename src/{kitaab-public => build}/__init__.py (100%) rename src/{kitaab-public/build/build.py => build/kitaab.py} (83%) rename src/{kitaab-public => }/build/mistune.py (100%) rename src/{kitaab-public => build}/partial/index_table.html (100%) rename src/{kitaab-public => build}/partial/item.xml (100%) rename src/{kitaab-public => build}/partial/list.html (100%) rename src/{kitaab-public => build}/partial/main.html (100%) rename src/{kitaab-public => build}/partial/nav.html (100%) rename src/{kitaab-public => build}/partial/rss.xml (100%) rename src/{kitaab-public/build => grab}/__init__.py (100%) rename src/{kitaab-public => }/grab/convert.py (100%) rename src/{kitaab-public/grab/makePublic.py => grab/kitaab.py} (63%) rename src/{kitaab-public => }/grab/network-builder.py (100%) create mode 100644 src/grab/network.py rename src/{kitaab-public => }/grab/tree.py (100%) delete mode 100644 src/kitaab-public/.gitignore delete mode 100644 src/kitaab-public/build/config.py delete mode 100644 src/kitaab-public/shared/__init__.py delete mode 100644 src/kitaab-public/shared/config.py rename src/{kitaab-public => }/main.py (100%) rename src/{kitaab-public => }/media/2c5030bc48b4bfa9.jpeg (100%) create mode 100644 src/media/big-self.jpg rename src/{kitaab-public => }/media/blue-man.png (100%) rename src/{kitaab-public => }/media/chihiro.jpg (100%) rename src/{kitaab-public => }/media/chisai_square.png (100%) rename src/{kitaab-public => }/media/city.jpeg (100%) rename src/{kitaab-public => }/media/kaguya.jpg (100%) rename src/{kitaab-public => }/media/lady.jpeg (100%) rename src/{kitaab-public => }/media/self.jpg (100%) rename src/{kitaab-public => }/raw/1ProjectAMonth.wiki (100%) rename src/{kitaab-public => }/raw/1thingaday.wiki (100%) rename src/{kitaab-public => }/raw/200921-1454.wiki (100%) rename src/{kitaab-public => }/raw/200921-1454a.wiki (100%) rename src/{kitaab-public => }/raw/200926-2245.wiki (100%) rename src/{kitaab-public => }/raw/200927-0010.wiki (100%) rename src/{kitaab-public => }/raw/200927-0028.wiki (100%) rename src/{kitaab-public => }/raw/200927-0111.wiki (100%) rename src/{kitaab-public => }/raw/200927-0149.wiki (100%) rename src/{kitaab-public => }/raw/200927-0158.wiki (100%) rename src/{kitaab-public => }/raw/200927-1627.wiki (100%) rename src/{kitaab-public => }/raw/200927-1651.wiki (100%) rename src/{kitaab-public => }/raw/200927-1730.wiki (100%) rename src/{kitaab-public => }/raw/200927-1936.wiki (100%) rename src/{kitaab-public => }/raw/200927-2151.wiki (100%) rename src/{kitaab-public => }/raw/200927-2157.wiki (100%) rename src/{kitaab-public => }/raw/200927-2244.wiki (100%) rename src/{kitaab-public => }/raw/200927-2247.wiki (100%) rename src/{kitaab-public => }/raw/200927-2247a.wiki (100%) rename src/{kitaab-public => }/raw/200928-0048.wiki (100%) rename src/{kitaab-public => }/raw/200928-0059.wiki (100%) rename src/{kitaab-public => }/raw/200928-1351.wiki (100%) rename src/{kitaab-public => }/raw/200929-2026.wiki (100%) rename src/{kitaab-public => }/raw/200930-1921.wiki (100%) rename src/{kitaab-public => }/raw/200930-2316.wiki (100%) rename src/{kitaab-public => }/raw/200930-2317.wiki (100%) rename src/{kitaab-public => }/raw/200930-2319.wiki (100%) rename src/{kitaab-public => }/raw/201001-1906.wiki (100%) rename src/{kitaab-public => }/raw/201001-1949.wiki (100%) rename src/{kitaab-public => }/raw/201003-1607.wiki (100%) rename src/{kitaab-public => }/raw/201006-2310.wiki (100%) rename src/{kitaab-public => }/raw/201013-0546.wiki (100%) rename src/{kitaab-public => }/raw/201013-2143.wiki (100%) rename src/{kitaab-public => }/raw/201013-2144.wiki (100%) rename src/{kitaab-public => }/raw/201013-2206.wiki (100%) rename src/{kitaab-public => }/raw/201013-2207.wiki (100%) rename src/{kitaab-public => }/raw/201015-2222.wiki (100%) rename src/{kitaab-public => }/raw/201015-2226.wiki (100%) rename src/{kitaab-public => }/raw/201015-2229.wiki (100%) rename src/{kitaab-public => }/raw/201015-2233.wiki (100%) rename src/{kitaab-public => }/raw/201015-2306.wiki (100%) rename src/{kitaab-public => }/raw/201015-2306a.wiki (100%) rename src/{kitaab-public => }/raw/201015-2313.wiki (100%) rename src/{kitaab-public => }/raw/201017-1546.wiki (100%) rename src/{kitaab-public => }/raw/201018-2128.wiki (100%) rename src/{kitaab-public => }/raw/201018-2141.wiki (100%) rename src/{kitaab-public => }/raw/201018-2147.wiki (100%) rename src/{kitaab-public => }/raw/201018-2232.wiki (100%) rename src/{kitaab-public => }/raw/201018-2304.wiki (100%) rename src/{kitaab-public => }/raw/201019-1905.wiki (100%) rename src/{kitaab-public => }/raw/201019-2020.wiki (100%) rename src/{kitaab-public => }/raw/201019-2038.wiki (100%) rename src/{kitaab-public => }/raw/201019-2220.wiki (100%) rename src/{kitaab-public => }/raw/201019-2221.wiki (100%) rename src/{kitaab-public => }/raw/201020-1926.wiki (100%) rename src/{kitaab-public => }/raw/201021-2043.wiki (100%) rename src/{kitaab-public => }/raw/201021-2102.wiki (100%) rename src/{kitaab-public => }/raw/201021-2233.wiki (100%) rename src/{kitaab-public => }/raw/201025-2352.wiki (100%) rename src/{kitaab-public => }/raw/201031-0042.wiki (100%) rename src/{kitaab-public => }/raw/201031-0114.wiki (100%) rename src/{kitaab-public => }/raw/201103-2109.wiki (100%) rename src/{kitaab-public => }/raw/201105-1933.wiki (100%) rename src/{kitaab-public => }/raw/201105-1945.wiki (100%) rename src/{kitaab-public => }/raw/201105-2043.wiki (100%) rename src/{kitaab-public => }/raw/201105-2104.wiki (100%) rename src/{kitaab-public => }/raw/201105-2306.wiki (100%) rename src/{kitaab-public => }/raw/201105-2309.wiki (100%) rename src/{kitaab-public => }/raw/201105-2316.wiki (100%) rename src/{kitaab-public => }/raw/201105-2321.wiki (100%) rename src/{kitaab-public => }/raw/201105-2338.wiki (100%) rename src/{kitaab-public => }/raw/201106-0258.wiki (100%) rename src/{kitaab-public => }/raw/201106-0311.wiki (100%) rename src/{kitaab-public => }/raw/201108-0205.wiki (100%) rename src/{kitaab-public => }/raw/201118-1520.wiki (100%) rename src/{kitaab-public => }/raw/201118-1522.wiki (100%) rename src/{kitaab-public => }/raw/201119-1157.wiki (100%) rename src/{kitaab-public => }/raw/201121-1417.wiki (100%) rename src/{kitaab-public => }/raw/201122-2122.wiki (100%) rename src/{kitaab-public => }/raw/201122-2123.wiki (100%) rename src/{kitaab-public => }/raw/201122-2142.wiki (100%) rename src/{kitaab-public => }/raw/201128-1301.wiki (100%) rename src/{kitaab-public => }/raw/201128-1326.wiki (100%) rename src/{kitaab-public => }/raw/201128-1333.wiki (100%) rename src/{kitaab-public => }/raw/201128-1333a.wiki (100%) rename src/{kitaab-public => }/raw/201128-1456.wiki (100%) rename src/{kitaab-public => }/raw/201129-2055.wiki (100%) rename src/{kitaab-public => }/raw/201206-2150.wiki (100%) rename src/{kitaab-public => }/raw/201213-1641.wiki (100%) rename src/{kitaab-public => }/raw/201215-1308.wiki (100%) rename src/{kitaab-public => }/raw/201215-1310.wiki (100%) rename src/{kitaab-public => }/raw/201218-1505.wiki (100%) rename src/{kitaab-public => }/raw/201219-1825.wiki (100%) rename src/{kitaab-public => }/raw/201219-1839.wiki (100%) rename src/{kitaab-public => }/raw/201223-0101.wiki (100%) rename src/{kitaab-public => }/raw/201229-1053.wiki (100%) rename src/{kitaab-public => }/raw/2019-resolutions.wiki (100%) rename src/{kitaab-public => }/raw/20201106-1540.wiki (100%) rename src/{kitaab-public => }/raw/210102-2223.wiki (100%) rename src/{kitaab-public => }/raw/210103-2319.wiki (100%) rename src/{kitaab-public => }/raw/210109-2114.wiki (100%) rename src/{kitaab-public => }/raw/210115-1804.wiki (100%) rename src/{kitaab-public => }/raw/210115-1809.wiki (100%) rename src/{kitaab-public => }/raw/210123-1414.wiki (100%) rename src/{kitaab-public => }/raw/210123-1417.wiki (100%) rename src/{kitaab-public => }/raw/210124-0033.wiki (100%) rename src/{kitaab-public => }/raw/210124-0135.wiki (100%) rename src/{kitaab-public => }/raw/210124-0140.wiki (100%) rename src/{kitaab-public => }/raw/210124-0144.wiki (100%) rename src/{kitaab-public => }/raw/210124-0407.wiki (100%) rename src/{kitaab-public => }/raw/210222-0046.wiki (100%) rename src/{kitaab-public => }/raw/210222-0114.wiki (100%) rename src/{kitaab-public => }/raw/210314-1815.wiki (100%) rename src/{kitaab-public => }/raw/210407-1501.wiki (100%) rename src/{kitaab-public => }/raw/210409-1109.wiki (100%) rename src/{kitaab-public => }/raw/210416-2252.wiki (100%) rename src/{kitaab-public => }/raw/210417-0308.wiki (100%) rename src/{kitaab-public => }/raw/210417-0322.wiki (100%) rename src/{kitaab-public => }/raw/210417-0324.wiki (100%) rename src/{kitaab-public => }/raw/210417-1243.wiki (100%) rename src/{kitaab-public => }/raw/210509-1322.wiki (100%) rename src/{kitaab-public => }/raw/210522-1436.wiki (100%) rename src/{kitaab-public => }/raw/210530-1305.wiki (100%) rename src/{kitaab-public => }/raw/210611-1631.wiki (100%) rename src/{kitaab-public => }/raw/210618-1038.wiki (100%) rename src/{kitaab-public => }/raw/210618-1227.wiki (100%) rename src/{kitaab-public => }/raw/210707-0544.wiki (100%) rename src/{kitaab-public => }/raw/210731-2033.wiki (100%) rename src/{kitaab-public => }/raw/210829-0712.wiki (100%) rename src/{kitaab-public => }/raw/211004-2002.wiki (100%) rename src/{kitaab-public => }/raw/211022-1728.wiki (100%) rename src/{kitaab-public => }/raw/211029-1128.wiki (100%) rename src/{kitaab-public => }/raw/211029-1324.wiki (100%) rename src/{kitaab-public => }/raw/211102-2358.wiki (100%) rename src/{kitaab-public => }/raw/211104-0150.wiki (100%) rename src/{kitaab-public => }/raw/211104-0210.wiki (100%) rename src/{kitaab-public => }/raw/211107-2158.wiki (100%) rename src/{kitaab-public => }/raw/211107-2309.wiki (100%) rename src/{kitaab-public => }/raw/211116-2244.wiki (100%) rename src/{kitaab-public => }/raw/211116-2255.wiki (100%) rename src/{kitaab-public => }/raw/211120-0228.wiki (100%) rename src/{kitaab-public => }/raw/211121-0144.wiki (100%) rename src/{kitaab-public => }/raw/211130-2052.wiki (100%) rename src/{kitaab-public => }/raw/211204-0155.wiki (100%) rename src/{kitaab-public => }/raw/211211-2254.wiki (100%) rename src/{kitaab-public => }/raw/211212-1150.wiki (100%) rename src/{kitaab-public => }/raw/211212-1939.wiki (100%) rename src/{kitaab-public => }/raw/211218-0150.wiki (100%) rename src/{kitaab-public => }/raw/211220-1658.wiki (100%) rename src/{kitaab-public => }/raw/211220-1838.wiki (100%) rename src/{kitaab-public => }/raw/211226-1526.wiki (100%) rename src/{kitaab-public => }/raw/211227-2301.wiki (100%) rename src/{kitaab-public => }/raw/220104-2114.wiki (100%) rename src/{kitaab-public => }/raw/220106-2211.wiki (100%) rename src/{kitaab-public => }/raw/220115-1438.wiki (100%) rename src/{kitaab-public => }/raw/220116-0453.wiki (100%) rename src/{kitaab-public => }/raw/220116-0509.wiki (100%) rename src/{kitaab-public => }/raw/220117-0131.wiki (100%) rename src/{kitaab-public => }/raw/220122-0146.wiki (100%) rename src/{kitaab-public => }/raw/220128-0244.wiki (100%) rename src/{kitaab-public => }/raw/220203-0332.wiki (100%) rename src/{kitaab-public => }/raw/220208-2310.wiki (100%) rename src/{kitaab-public => }/raw/220212-1401.wiki (100%) rename src/{kitaab-public => }/raw/220213-2040.wiki (100%) rename src/{kitaab-public => }/raw/220226-0007.wiki (100%) rename src/{kitaab-public => }/raw/220226-2025.wiki (100%) rename src/{kitaab-public => }/raw/2420-w3.wiki (100%) rename src/{kitaab-public => }/raw/2420-w4.wiki (100%) rename src/{kitaab-public => }/raw/2420.wiki (100%) rename src/{kitaab-public => }/raw/4450-week2.wiki (100%) rename src/{kitaab-public => }/raw/4880-w1.wiki (100%) rename src/{kitaab-public => }/raw/Archive.wiki (100%) rename src/{kitaab-public => }/raw/Backups.wiki (100%) rename src/{kitaab-public => }/raw/Blog.sync-conflict-20201019-094152-KZ7HRBJ.wiki (100%) rename src/{kitaab-public => }/raw/Blog.wiki (100%) rename src/{kitaab-public => }/raw/COMP2420.wiki (100%) rename src/{kitaab-public => }/raw/COMP4450.wiki (100%) rename src/{kitaab-public => }/raw/COMP4880.wiki (100%) rename src/{kitaab-public => }/raw/Expand-Your-We.wiki (100%) rename src/{kitaab-public => }/raw/Experiments.wiki (100%) rename src/{kitaab-public => }/raw/Fava.wiki (100%) rename src/{kitaab-public => }/raw/HUMN1001.wiki (100%) rename src/{kitaab-public => }/raw/HackingArtOfExploitation.wiki (100%) rename src/{kitaab-public => }/raw/Industrial-Ops.wiki (100%) rename src/{kitaab-public => }/raw/Infrastructure.sync-conflict-20201012-130837-KZ7HRBJ.wiki (100%) rename src/{kitaab-public => }/raw/Infrastructure.wiki (100%) rename src/{kitaab-public => }/raw/Kitaab.wiki (100%) rename src/{kitaab-public => }/raw/Nextcloud.wiki (100%) rename src/{kitaab-public => }/raw/Norns.wiki (100%) rename src/{kitaab-public => }/raw/ORCA.wiki (100%) rename src/{kitaab-public => }/raw/Punya.wiki (100%) rename src/{kitaab-public => }/raw/Puralek.wiki (100%) rename src/{kitaab-public => }/raw/ReverseEngineering.wiki (100%) rename src/{kitaab-public => }/raw/SM-jira-meeting-notes.wiki (100%) rename src/{kitaab-public => }/raw/SQLi.wiki (100%) rename src/{kitaab-public => }/raw/Uni.wiki (100%) rename src/{kitaab-public => }/raw/Website.wiki (100%) rename src/{kitaab-public => }/raw/Writing.sync-conflict-20210105-170339-3AWSEIW.wiki (100%) rename src/{kitaab-public => }/raw/Writing.sync-conflict-20210105-172913-3AWSEIW.wiki (100%) rename src/{kitaab-public => }/raw/Writing.wiki (100%) rename src/{kitaab-public => }/raw/XSS.wiki (100%) rename src/{kitaab-public => }/raw/Yaad.wiki (100%) rename src/{kitaab-public => }/raw/aardwolf.wiki (100%) rename src/{kitaab-public => }/raw/alert-matrix.wiki (100%) rename src/{kitaab-public => }/raw/america-travel-2018.wiki (100%) rename src/{kitaab-public => }/raw/auggar.wiki (100%) rename src/{kitaab-public => }/raw/auto-curate.wiki (100%) rename src/{kitaab-public => }/raw/aws-tail.wiki (100%) rename src/{kitaab-public => }/raw/baking.wiki (100%) rename src/{kitaab-public => }/raw/blog.wiki (100%) rename src/{kitaab-public => }/raw/bots.wiki (100%) rename src/{kitaab-public => }/raw/bowl.wiki (100%) rename src/{kitaab-public => }/raw/box.wiki (100%) rename src/{kitaab-public => }/raw/bread.wiki (100%) rename src/{kitaab-public => }/raw/brisbane.wiki (100%) rename src/{kitaab-public => }/raw/brooyar2020.wiki (100%) rename src/{kitaab-public => }/raw/canberra2020.wiki (100%) rename src/{kitaab-public => }/raw/cherry-pick.wiki (100%) rename src/{kitaab-public => }/raw/chores.wiki (100%) rename src/{kitaab-public => }/raw/click-to-jira.wiki (100%) rename src/{kitaab-public => }/raw/coffee.wiki (100%) rename src/{kitaab-public => }/raw/contributions.sync-conflict-20201003-153925-KZ7HRBJ.wiki (100%) rename src/{kitaab-public => }/raw/contributions.wiki (100%) rename src/{kitaab-public => }/raw/counsellor.wiki (100%) rename src/{kitaab-public => }/raw/craft.wiki (100%) rename src/{kitaab-public => }/raw/crafts.wiki (100%) rename src/{kitaab-public => }/raw/css.wiki (100%) rename src/{kitaab-public => }/raw/cube.wiki (100%) rename src/{kitaab-public => }/raw/curve.wiki (100%) rename src/{kitaab-public => }/raw/datalife.wiki (100%) rename src/{kitaab-public => }/raw/dev.wiki (100%) rename src/{kitaab-public => }/raw/django.wiki (100%) rename src/{kitaab-public => }/raw/dmi.wiki (100%) rename src/{kitaab-public => }/raw/dot.wiki (100%) rename src/{kitaab-public => }/raw/dotgarden.wiki (100%) rename src/{kitaab-public => }/raw/electronics.wiki (100%) rename src/{kitaab-public => }/raw/fermentation.wiki (100%) rename src/{kitaab-public => }/raw/finances.wiki (100%) rename src/{kitaab-public => }/raw/gardening.wiki (100%) rename src/{kitaab-public => }/raw/generative.wiki (100%) rename src/{kitaab-public => }/raw/goals.wiki (100%) rename src/{kitaab-public => }/raw/godemodemay.wiki (100%) rename src/{kitaab-public => }/raw/godmodemay.wiki (100%) rename src/{kitaab-public => }/raw/grasp.wiki (100%) rename src/{kitaab-public => }/raw/gratitude.wiki (100%) rename src/{kitaab-public => }/raw/groceries.sync-conflict-20210102-225658-LX5ZRTJ.wiki (100%) rename src/{kitaab-public => }/raw/groceries.wiki (100%) rename src/{kitaab-public => }/raw/habitsGtk.wiki (100%) rename src/{kitaab-public => }/raw/hack.wiki (100%) rename src/{kitaab-public => }/raw/hacker101.wiki (100%) rename src/{kitaab-public => }/raw/helix.wiki (100%) rename src/{kitaab-public => }/raw/hitman-roguelike.wiki (100%) rename src/{kitaab-public => }/raw/home.wiki (100%) rename src/{kitaab-public => }/raw/humn1001-week3.wiki (100%) rename src/{kitaab-public => }/raw/hyperplane.wiki (100%) rename src/{kitaab-public => }/raw/ideas.wiki (100%) rename src/{kitaab-public => }/raw/index.wiki (100%) rename src/{kitaab-public => }/raw/india-2018.wiki (100%) rename src/{kitaab-public => }/raw/indieWeb.wiki (100%) rename src/{kitaab-public => }/raw/intro.wiki (100%) rename src/{kitaab-public => }/raw/isit420yet.wiki (100%) rename src/{kitaab-public => }/raw/job.wiki (100%) rename src/{kitaab-public => }/raw/just so.wiki (100%) rename src/{kitaab-public => }/raw/kendrit-vim.wiki (100%) rename src/{kitaab-public => }/raw/kendrit.wiki (100%) rename src/{kitaab-public => }/raw/korea2019.wiki (100%) rename src/{kitaab-public => }/raw/lifeTracker.wiki (100%) rename src/{kitaab-public => }/raw/line.wiki (100%) rename src/{kitaab-public => }/raw/link-store.wiki (100%) rename src/{kitaab-public => }/raw/linux.wiki (100%) rename src/{kitaab-public => }/raw/log.wiki (100%) rename src/{kitaab-public => }/raw/maze.wiki (100%) rename src/{kitaab-public => }/raw/media.wiki (100%) rename src/{kitaab-public => }/raw/memex.wiki (100%) rename src/{kitaab-public => }/raw/meta.wiki (100%) rename src/{kitaab-public => }/raw/morning-list.wiki (100%) rename src/{kitaab-public => }/raw/mossnet.wiki (100%) rename src/{kitaab-public => }/raw/moving.wiki (100%) rename src/{kitaab-public => }/raw/nadir.wiki (100%) rename src/{kitaab-public => }/raw/newpage.wiki (100%) rename src/{kitaab-public => }/raw/news-agg.wiki (100%) rename src/{kitaab-public => }/raw/nix-lang.wiki (100%) rename src/{kitaab-public => }/raw/nixOS.wiki (100%) rename src/{kitaab-public => }/raw/nixpkgs.wiki (100%) rename src/{kitaab-public => }/raw/notes..wiki (100%) rename src/{kitaab-public => }/raw/now.wiki (100%) rename src/{kitaab-public => }/raw/ops.wiki (100%) rename src/{kitaab-public => }/raw/overthewire.wiki (100%) rename src/{kitaab-public => }/raw/pasta.wiki (100%) rename src/{kitaab-public => }/raw/pebble.wiki (100%) rename src/{kitaab-public => }/raw/pentagon.wiki (100%) rename src/{kitaab-public => }/raw/pipeline.wiki (100%) rename src/{kitaab-public => }/raw/processisng.wiki (100%) rename src/{kitaab-public => }/raw/psql.wiki (100%) rename src/{kitaab-public => }/raw/purchases.sync-conflict-20201012-130834-LX5ZRTJ.wiki (100%) rename src/{kitaab-public => }/raw/purchases.wiki (100%) rename src/{kitaab-public => }/raw/python-ransomware.wiki (100%) rename src/{kitaab-public => }/raw/python.wiki (100%) rename src/{kitaab-public => }/raw/quotes.wiki (100%) rename src/{kitaab-public => }/raw/rectangle.wiki (100%) rename src/{kitaab-public => }/raw/reflection.wiki (100%) rename src/{kitaab-public => }/raw/riya.wiki (100%) rename src/{kitaab-public => }/raw/rss2elastic.wiki (100%) rename src/{kitaab-public => }/raw/sale.wiki (100%) rename src/{kitaab-public => }/raw/sealight.xyz.wiki (100%) rename src/{kitaab-public => }/raw/see.wiki (100%) rename src/{kitaab-public => }/raw/shaders.wiki (100%) rename src/{kitaab-public => }/raw/sketch-build.wiki (100%) rename src/{kitaab-public => }/raw/smashstock2019.wiki (100%) rename src/{kitaab-public => }/raw/sphere.wiki (100%) rename src/{kitaab-public => }/raw/strategy.wiki (100%) rename src/{kitaab-public => }/raw/sydney-april-2019.wiki (100%) rename src/{kitaab-public => }/raw/sydney2021.wiki (100%) rename src/{kitaab-public => }/raw/synths.wiki (100%) rename src/{kitaab-public => }/raw/td-reporting.wiki (100%) rename src/{kitaab-public => }/raw/tidalcycles.wiki (100%) rename src/{kitaab-public => }/raw/tinder.wiki (100%) rename src/{kitaab-public => }/raw/travel.wiki (100%) rename src/{kitaab-public => }/raw/vim-tidal.wiki (100%) rename src/{kitaab-public => }/raw/vim-zettel.wiki (100%) rename src/{kitaab-public => }/raw/vim2nix.wiki (100%) rename src/{kitaab-public => }/raw/wallabag.wiki (100%) rename src/{kitaab-public => }/raw/way.wiki (100%) rename src/{kitaab-public => }/raw/web-devel.wiki (100%) rename src/{kitaab-public => }/raw/webAppHacking.wiki (100%) rename src/{kitaab-public => }/raw/webdev.wiki (100%) rename src/{kitaab-public => }/raw/webnotes.wiki (100%) rename src/{kitaab-public => }/raw/webquotes.wiki (100%) rename src/{kitaab-public => }/raw/week1.wiki (100%) rename src/{kitaab-public => }/raw/weights.wiki (100%) rename src/{kitaab-public => }/raw/work.wiki (100%) rename src/{kitaab-public => }/raw/writing.wiki (100%) rename src/{kitaab-public => }/readme.md (100%) rename src/{kitaab-public => }/shared/TagHelper.py (87%) rename src/{kitaab-public/grab => shared}/__init__.py (100%) create mode 100644 src/shared/config.py create mode 100644 src/shared/helpers.py rename src/{kitaab-public/grab => shared}/tag-fixer.py (92%) diff --git a/src/kitaab-public/TODO b/src/TODO similarity index 100% rename from src/kitaab-public/TODO rename to src/TODO diff --git a/src/kitaab-public/asset/android-icon-144x144.png b/src/assets/android-icon-144x144.png similarity index 100% rename from src/kitaab-public/asset/android-icon-144x144.png rename to src/assets/android-icon-144x144.png diff --git a/src/kitaab-public/asset/android-icon-192x192.png b/src/assets/android-icon-192x192.png similarity index 100% rename from src/kitaab-public/asset/android-icon-192x192.png rename to src/assets/android-icon-192x192.png diff --git a/src/kitaab-public/asset/android-icon-36x36.png b/src/assets/android-icon-36x36.png similarity index 100% rename from src/kitaab-public/asset/android-icon-36x36.png rename to src/assets/android-icon-36x36.png diff --git a/src/kitaab-public/asset/android-icon-48x48.png b/src/assets/android-icon-48x48.png similarity index 100% rename from src/kitaab-public/asset/android-icon-48x48.png rename to src/assets/android-icon-48x48.png diff --git a/src/kitaab-public/asset/android-icon-72x72.png b/src/assets/android-icon-72x72.png similarity index 100% rename from src/kitaab-public/asset/android-icon-72x72.png rename to src/assets/android-icon-72x72.png diff --git a/src/kitaab-public/asset/android-icon-96x96.png b/src/assets/android-icon-96x96.png similarity index 100% rename from src/kitaab-public/asset/android-icon-96x96.png rename to src/assets/android-icon-96x96.png diff --git a/src/kitaab-public/asset/apple-icon-114x114.png b/src/assets/apple-icon-114x114.png similarity index 100% rename from src/kitaab-public/asset/apple-icon-114x114.png rename to src/assets/apple-icon-114x114.png diff --git a/src/kitaab-public/asset/apple-icon-120x120.png b/src/assets/apple-icon-120x120.png similarity index 100% rename from src/kitaab-public/asset/apple-icon-120x120.png rename to src/assets/apple-icon-120x120.png diff --git a/src/kitaab-public/asset/apple-icon-144x144.png b/src/assets/apple-icon-144x144.png similarity index 100% rename from src/kitaab-public/asset/apple-icon-144x144.png rename to src/assets/apple-icon-144x144.png diff --git a/src/kitaab-public/asset/apple-icon-152x152.png b/src/assets/apple-icon-152x152.png similarity index 100% rename from src/kitaab-public/asset/apple-icon-152x152.png rename to src/assets/apple-icon-152x152.png diff --git a/src/kitaab-public/asset/apple-icon-180x180.png b/src/assets/apple-icon-180x180.png similarity index 100% rename from src/kitaab-public/asset/apple-icon-180x180.png rename to src/assets/apple-icon-180x180.png diff --git a/src/kitaab-public/asset/apple-icon-57x57.png b/src/assets/apple-icon-57x57.png similarity index 100% rename from src/kitaab-public/asset/apple-icon-57x57.png rename to src/assets/apple-icon-57x57.png diff --git a/src/kitaab-public/asset/apple-icon-60x60.png b/src/assets/apple-icon-60x60.png similarity index 100% rename from src/kitaab-public/asset/apple-icon-60x60.png rename to src/assets/apple-icon-60x60.png diff --git a/src/kitaab-public/asset/apple-icon-72x72.png b/src/assets/apple-icon-72x72.png similarity index 100% rename from src/kitaab-public/asset/apple-icon-72x72.png rename to src/assets/apple-icon-72x72.png diff --git a/src/kitaab-public/asset/apple-icon-76x76.png b/src/assets/apple-icon-76x76.png similarity index 100% rename from src/kitaab-public/asset/apple-icon-76x76.png rename to src/assets/apple-icon-76x76.png diff --git a/src/kitaab-public/asset/apple-icon-precomposed.png b/src/assets/apple-icon-precomposed.png similarity index 100% rename from src/kitaab-public/asset/apple-icon-precomposed.png rename to src/assets/apple-icon-precomposed.png diff --git a/src/kitaab-public/asset/apple-icon.png b/src/assets/apple-icon.png similarity index 100% rename from src/kitaab-public/asset/apple-icon.png rename to src/assets/apple-icon.png diff --git a/src/kitaab-public/asset/favicon-16x16.png b/src/assets/favicon-16x16.png similarity index 100% rename from src/kitaab-public/asset/favicon-16x16.png rename to src/assets/favicon-16x16.png diff --git a/src/kitaab-public/asset/favicon-32x32.png b/src/assets/favicon-32x32.png similarity index 100% rename from src/kitaab-public/asset/favicon-32x32.png rename to src/assets/favicon-32x32.png diff --git a/src/kitaab-public/asset/favicon-96x96.png b/src/assets/favicon-96x96.png similarity index 100% rename from src/kitaab-public/asset/favicon-96x96.png rename to src/assets/favicon-96x96.png diff --git a/src/kitaab-public/asset/favicon.ico b/src/assets/favicon.ico similarity index 100% rename from src/kitaab-public/asset/favicon.ico rename to src/assets/favicon.ico diff --git a/src/kitaab-public/asset/header.css b/src/assets/header.css similarity index 100% rename from src/kitaab-public/asset/header.css rename to src/assets/header.css diff --git a/src/kitaab-public/asset/main.css b/src/assets/main.css similarity index 100% rename from src/kitaab-public/asset/main.css rename to src/assets/main.css diff --git a/src/kitaab-public/asset/ms-icon-144x144.png b/src/assets/ms-icon-144x144.png similarity index 100% rename from src/kitaab-public/asset/ms-icon-144x144.png rename to src/assets/ms-icon-144x144.png diff --git a/src/kitaab-public/asset/ms-icon-150x150.png b/src/assets/ms-icon-150x150.png similarity index 100% rename from src/kitaab-public/asset/ms-icon-150x150.png rename to src/assets/ms-icon-150x150.png diff --git a/src/kitaab-public/asset/ms-icon-310x310.png b/src/assets/ms-icon-310x310.png similarity index 100% rename from src/kitaab-public/asset/ms-icon-310x310.png rename to src/assets/ms-icon-310x310.png diff --git a/src/kitaab-public/asset/ms-icon-70x70.png b/src/assets/ms-icon-70x70.png similarity index 100% rename from src/kitaab-public/asset/ms-icon-70x70.png rename to src/assets/ms-icon-70x70.png diff --git a/src/kitaab-public/asset/rss.png b/src/assets/rss.png similarity index 100% rename from src/kitaab-public/asset/rss.png rename to src/assets/rss.png diff --git a/src/kitaab-public/asset/social.png b/src/assets/social.png similarity index 100% rename from src/kitaab-public/asset/social.png rename to src/assets/social.png diff --git a/src/kitaab-public/asset/style.css b/src/assets/style.css similarity index 100% rename from src/kitaab-public/asset/style.css rename to src/assets/style.css diff --git a/src/kitaab-public/build/README.md b/src/build/README.md similarity index 100% rename from src/kitaab-public/build/README.md rename to src/build/README.md diff --git a/src/kitaab-public/__init__.py b/src/build/__init__.py similarity index 100% rename from src/kitaab-public/__init__.py rename to src/build/__init__.py diff --git a/src/kitaab-public/build/build.py b/src/build/kitaab.py similarity index 83% rename from src/kitaab-public/build/build.py rename to src/build/kitaab.py index 79cfb0f..d8376bf 100644 --- a/src/kitaab-public/build/build.py +++ b/src/build/kitaab.py @@ -1,3 +1,5 @@ +from . import mistune +from shared import TagHelper, config from jinja2 import Environment, FileSystemLoader import argparse import glob @@ -7,11 +9,6 @@ import platform import re import shutil from datetime import datetime -# TODO flith -import sys -sys.path.append("./") -from shared import TagHelper, config -from . import mistune # Default encoding encoding = 'utf-8' @@ -32,12 +29,15 @@ build_url = config.relative_build_url if args.prod: build_url = config.absolute_build_url + def generate_config(): pass + def generate_page(template_file=config.template_main, options=generate_config()): pass + def generate_navigation(template_nav=config.template_nav): file_loader = FileSystemLoader('') env = Environment(loader=file_loader) @@ -47,6 +47,7 @@ def generate_navigation(template_nav=config.template_nav): output = template.render(index_urls=[f.split(".")[0] for f in index_tags]) return output + def add_file_path(pages, root_dir): ret = set() for page in pages: @@ -64,18 +65,21 @@ def generate_index_pages(template=config.template_main, template_nav=config.temp pages = add_file_path(pages, config.content_folder[0]) entries = create_entries(pages) # TODO this broke as well, not sure what happened to entries, but the whole page is blank? - subPages = generate_sub_pages(entries, len(entries), config.content_folder[0], False) + subPages = generate_sub_pages(entries, len( + entries), config.content_folder[0], False) # Build the files by filling out the template file_loader = FileSystemLoader('') env = Environment(loader=file_loader) # regular index pagse use main template template = env.get_template(template) - current_index_template = template.render(page_body=subPages, page_date=None, page_tags=None, page_navigation=generate_navigation(template_nav), page_title=index.capitalize() + ' index', config=config) + current_index_template = template.render(page_body=subPages, page_date=None, page_tags=None, page_navigation=generate_navigation( + template_nav), page_title=index.capitalize() + ' index', config=config) slugfile = config.build_folder + index + '_index.html' with open(slugfile, 'w', encoding=encoding) as fobj: fobj.write(current_index_template) generate_table_index() + def generate_table_index(template=config.template_index, template_nav=config.template_nav): # build the metaIndex page # This function creates the tag_index.html page @@ -87,11 +91,12 @@ def generate_table_index(template=config.template_index, template_nav=config.tem for k, v in all_tags.items(): parsed_set[k] = len(v) current_index_template = template.render(index_urls=parsed_set, - page_date=None, - page_tags=None, - page_navigation=generate_navigation(template_nav), - page_title='Piles', - config=config) + page_date=None, + page_tags=None, + page_navigation=generate_navigation( + template_nav), + page_title='Piles', + config=config) slugfile = config.build_folder + 'tag_index.html' with open(slugfile, 'w', encoding=encoding) as fobj: fobj.write(current_index_template) @@ -102,7 +107,7 @@ def generate_html_pages(site_folder, entries, template, sub_pages_list, template for entry in entries: # Creating navigation nav_html = generate_navigation(template_nav) - # Replaces all occurrences of build_url in the template + # Replaces all occurrences of build_url in the template # (assets, urls, etc) file_loader = FileSystemLoader('') @@ -110,7 +115,8 @@ def generate_html_pages(site_folder, entries, template, sub_pages_list, template template = env.get_template(template) if len(entry['tags']) > 1: entry['tags'] = entry['tags'].split(' ') - page_template = template.render(page_body=entry['pageContent'], page_date="%s"%entry['date'], page_tags=entry['tags'], name_of_site="Kitaab", page_navigation=nav_html, page_title=entry['title'], build_url=entry['parent_text'], config=config) + page_template = template.render(page_body=entry['pageContent'], page_date="%s" % entry['date'], page_tags=entry['tags'], + name_of_site="Kitaab", page_navigation=nav_html, page_title=entry['title'], build_url=entry['parent_text'], config=config) # Checking if content folder exists folderExists = os.path.exists(site_folder+entry['folder']) @@ -137,9 +143,10 @@ def get_entry_title(page): textContent = textContent[0] textContent = textContent.replace('# ', '') if '%title' in textContent: - textContent = textContent.replace('%title','') + textContent = textContent.replace('%title', '') else: - textContent = page.split('/')[1][:-5] # remove .wiki from the end of the file name + # remove .wiki from the end of the file name + textContent = page.split('/')[1][:-5] except FileNotFoundError: #print(f"Page not found, but present in tags: {page}") return None @@ -172,6 +179,8 @@ def style_iframes(page): return page # Get a list of the tags in the page + + def get_tags(page): regex = r":[a-zA-Z:]*:" matches = re.finditer(regex, page, re.MULTILINE) @@ -209,6 +218,7 @@ def fix_amp(page): print(f"{page} is not a string") return "" + def fix_wiki_links(page, path): regex = r"\[\[([\s\S]+?\|?[\s\S]+?)\]\]" matches = re.finditer(regex, page, re.MULTILINE) @@ -217,15 +227,22 @@ def fix_wiki_links(page, path): captured_group = match.group(groupNum + 1) link_elem = captured_group.split("|") if len(link_elem) > 1: - full_url = "" + link_elem[1].strip() + "" + full_url = "" + \ + link_elem[1].strip() + "" else: if config.flat_build: - full_url = "" + link_elem[0].strip() + "" + full_url = "" + \ + link_elem[0].strip() + "" else: - full_url = "" + link_elem[0].strip() + "" + full_url = "" + \ + link_elem[0].strip() + "" page = page.replace(match[0], full_url) return page + def remove_tags(page): try: regex = r":[a-zA-Z:]*:" @@ -235,6 +252,7 @@ def remove_tags(page): print(f'Unexpected error in removing tags in {page}') return page + def remove_title(page): try: textContent = page.splitlines() @@ -247,6 +265,7 @@ def remove_title(page): print(f'Unexpected error in removing title in {page}') return page + def remove_date(page): try: regex = r"%date [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}" @@ -269,7 +288,7 @@ def replacement_function(replace): lines = lines[-2:] line1 = lines[0].split(',') line2 = lines[1].split(',') - line1len = len(line1) + line1len = len(line1) line2len = len(line2) first = line1[random.randrange(line1len)] second = line2[random.randrange(line2len)] @@ -277,12 +296,12 @@ def replacement_function(replace): def replace_generated(page): - #try: - page = re.sub(r'@<[A-Za-z- ]*>', - replacement_function, - page) + # try: + page = re.sub(r'@<[A-Za-z- ]*>', + replacement_function, + page) return page - #except Exception as e: + # except Exception as e: # print(e) # print(f"Could not replace generated in {page}") # return page @@ -294,20 +313,23 @@ def get_date(page): match = re.findall(regex, page)[0].strip('%date') return match except: - #print(f"Could not parse date") + # print(f"Could not parse date") return None + def parse_headings(page): try: page = re.sub(r'= [\[\]a-zA-Z0-9:|+& ]* =', - lambda x: x.group().replace('=','###', 1).strip('='), - page) + lambda x: x.group().replace('=', '###', 1).strip('='), + page) return page except Exception as e: print(f"Could not parse headers {e}") return page # From the list of files, creates the main array of entries that will be processed later + + def create_entries(pages): fullContent = [] noTitle = [] @@ -327,7 +349,7 @@ def create_entries(pages): markdown_text = style_iframes(markdown_text) markdown_text = fix_images_urls(markdown_text) markdown_text = fix_wiki_links(markdown_text, path["folder"]) - tags = get_tags(markdown_text) + tags = get_tags(markdown_text) date = get_date(markdown_text) markdown_text = remove_tags(markdown_text) markdown_text = remove_title(markdown_text) @@ -374,10 +396,10 @@ def clean_path(path): items = path_clean.split('\\') else: items = path_clean.split('/') - + path_items = { - "slug" : None, - "date" : None, + "slug": None, + "date": None, "folder": items[0], "file": items[1] } @@ -394,24 +416,27 @@ def clean_path(path): has_date = True else: pass - #print(f"{path} does not have a date") + # print(f"{path} does not have a date") if has_date: if match[0] != path_items["file"]: path_items["date"] = match[0] - path_items["slug"] = path_items["file"].replace(match[0] + "-", "") + ".html" + path_items["slug"] = path_items["file"].replace( + match[0] + "-", "") + ".html" else: path_items["date"] = match[0] path_items["slug"] = path_items["file"] + ".html" # Converts the EU date to US date to allow page sorting if config.date_format == "EU": - path_items["iso_date"] = str(datetime.strptime(path_items["date"], '%y%m%d-%H%M')) + path_items["iso_date"] = str( + datetime.strptime(path_items["date"], '%y%m%d-%H%M')) if config.date_format == "ISO": - path_items["iso_date"] = str(datetime.strptime(path_items["date"], '%Y-%m-%d')) + path_items["iso_date"] = str( + datetime.strptime(path_items["date"], '%Y-%m-%d')) else: path_items["slug"] = path_items["file"] + ".html" - #last_edit = str(subprocess.check_output('git log -1 --format="%ci" ' + path, shell=True)).replace("b'", "").replace("\\n'", '') + # last_edit = str(subprocess.check_output('git log -1 --format="%ci" ' + path, shell=True)).replace("b'", "").replace("\\n'", '') # get last edited time from system try: last_edit = os.path.getmtime('/home/anish/'+path) @@ -439,11 +464,12 @@ def clean_path(path): else: if config.flat_build: path_items["parent_url"] = path_items["folder"] + ".html" - path_items["parent_text"] = path_items["folder"].replace("-", " ").capitalize() + path_items["parent_text"] = path_items["folder"].replace( + "-", " ").capitalize() else: path_items["parent_url"] = path_items["folder"] - path_items["parent_text"] = path_items["folder"].replace("-", " ").capitalize() - + path_items["parent_text"] = path_items["folder"].replace( + "-", " ").capitalize() return path_items @@ -457,8 +483,10 @@ def generate_sub_pages(entries, num, folder, title, title_name=""): # Create the list file_loader = FileSystemLoader('') env = Environment(loader=file_loader) - template = env.get_template(config.template_list) # TODO maybe not hardcode - sub_page_list = template.render(entries=selected_entries, title_name=title_name, title=title) + # TODO maybe not hardcode + template = env.get_template(config.template_list) + sub_page_list = template.render( + entries=selected_entries, title_name=title_name, title=title) return sub_page_list @@ -531,8 +559,9 @@ def generate_website(): # Get main html template file_loader = FileSystemLoader('') env = Environment(loader=file_loader) - home_page = env.get_template(config.template_main) # TODO maybe not hardcode - #home_page = create_home_page(template, config.build_folder) + home_page = env.get_template( + config.template_main) # TODO maybe not hardcode + # home_page = create_home_page(template, config.build_folder) generate_index_pages(config.template_main, config.template_nav) @@ -544,11 +573,12 @@ def generate_website(): sub_pages_list = generate_sub_pages( entries, len(entries), folder, False) - # For each section, create a short listing of sub pages and add it to the home page + # For each section, create a short listing of sub pages + # and add it to the home page home_pageSubList = generate_sub_pages(entries, 50, folder, False) - #home_page = home_page.replace('content_list', home_pageSubList + + # home_page = home_page.replace('content_list', home_pageSubList + # "content_list") - #home_page = home_page.replace('page_date', "") + # home_page = home_page.replace('page_date', "") generate_html_pages(config.build_folder, entries, config.template_main, sub_pages_list, config.template_nav) @@ -556,19 +586,20 @@ def generate_website(): for entry in entries: rss_entries.append(entry) - # Move the assets + # Move the assets move_files(config.build_folder, config.assets_folder) move_files(config.build_folder, config.medias_folder) # Once all sections have been processed, finish the home page # Removes the "content_list" in the partial - #home_page = home_page.replace('content_list', "") - #home_page = home_page.replace('name_of_site', config.name_of_site) - #home_page = home_page.replace('site_meta_description', + # home_page = home_page.replace('content_list', "") + # home_page = home_page.replace('name_of_site', config.name_of_site) + # home_page = home_page.replace('site_meta_description', # config.site_meta_description) - #home_page = home_page.replace( + # home_page = home_page.replace( # 'twitter_name', config.twitter_name) - home_page = home_page.render(page_body=home_pageSubList, page_date=None, page_tags=None, page_navigation=generate_navigation(), page_title="Recent Files", config=config) + home_page = home_page.render(page_body=home_pageSubList, page_date=None, page_tags=None, + page_navigation=generate_navigation(), page_title="Recent Files", config=config) slug_file = config.build_folder + "recents.html" with open(slug_file, 'w', encoding=encoding) as fobj: diff --git a/src/kitaab-public/build/mistune.py b/src/build/mistune.py similarity index 100% rename from src/kitaab-public/build/mistune.py rename to src/build/mistune.py diff --git a/src/kitaab-public/partial/index_table.html b/src/build/partial/index_table.html similarity index 100% rename from src/kitaab-public/partial/index_table.html rename to src/build/partial/index_table.html diff --git a/src/kitaab-public/partial/item.xml b/src/build/partial/item.xml similarity index 100% rename from src/kitaab-public/partial/item.xml rename to src/build/partial/item.xml diff --git a/src/kitaab-public/partial/list.html b/src/build/partial/list.html similarity index 100% rename from src/kitaab-public/partial/list.html rename to src/build/partial/list.html diff --git a/src/kitaab-public/partial/main.html b/src/build/partial/main.html similarity index 100% rename from src/kitaab-public/partial/main.html rename to src/build/partial/main.html diff --git a/src/kitaab-public/partial/nav.html b/src/build/partial/nav.html similarity index 100% rename from src/kitaab-public/partial/nav.html rename to src/build/partial/nav.html diff --git a/src/kitaab-public/partial/rss.xml b/src/build/partial/rss.xml similarity index 100% rename from src/kitaab-public/partial/rss.xml rename to src/build/partial/rss.xml diff --git a/src/kitaab-public/build/__init__.py b/src/grab/__init__.py similarity index 100% rename from src/kitaab-public/build/__init__.py rename to src/grab/__init__.py diff --git a/src/kitaab-public/grab/convert.py b/src/grab/convert.py similarity index 100% rename from src/kitaab-public/grab/convert.py rename to src/grab/convert.py diff --git a/src/kitaab-public/grab/makePublic.py b/src/grab/kitaab.py similarity index 63% rename from src/kitaab-public/grab/makePublic.py rename to src/grab/kitaab.py index 9879f5a..d12f2e8 100644 --- a/src/kitaab-public/grab/makePublic.py +++ b/src/grab/kitaab.py @@ -6,15 +6,11 @@ # filter - leave names in tact but do not link to relevant documents # create - list in an index file for website from shared.censor import privateList -from shared import TagHelper, config +from shared import TagHelper, config, helpers from os import listdir, mkdir, path, remove import shutil -import random -import json from . import convert import os -import sys -sys.path.append("../") # TODO: generalize based on headings(?) in index.wiki @@ -23,22 +19,7 @@ censor = privateList filter = ["dream", "gratitude", "review", "jrnl", "work", "job", "debt", "people", "priv", "threatdefence", "info"] # TODO create = ... - - -def loadNetwork(path='network.json'): - # Loads the network.json file - with open(path, 'r') as f: - everything = json.load(f) - return everything - - -def setNetwork(everything): - # Everything is loaded from the network.json file - # keys = set(everything.network()) - network = "" - values = set(everything.values()) - everything = network + values - return everything +outputBasePath = config.raw_folder def filterFiles(AllFileList): @@ -53,43 +34,6 @@ def filterFiles(AllFileList): return AllFileList - doNotTakeFiles -def untaggedFiles(AllFileList=TagHelper.getAllFiles()): - toFilter = filter + censor - tagList = TagHelper.getAllTags() - doNotTakeFiles = set() - for mask in toFilter: - try: - doNotTakeFiles.update(tagList[mask]) - except KeyError: - print("Key not found: {}".format(mask)) - return set.difference(AllFileList, doNotTakeFiles) - - -def censorNetwork(network): - # Takes network as a set - for c in censor: - if c in network: - network.add(generateBlocks(len(c) + random.randint(0, 5))) - network.remove(c) - return network - - -def generateBlocks(size=1): - # Generates a length size unicode string that is formed from blocks - charList = ['▐', '░', '▒', '▓', '▔', '▕', '▖▗', - '▘▙', '▚', '▛', '▜', '▝', '▞', '▟'] - ret = "" - while size > 0: - size = size - 1 - rand = random.randint(0, 13) - ret = ret + charList[rand] - return ret - - -def createIndexNode(network): - pass - - def copyFiles(fileList): baseFilePath = '/home/anish/vimwiki/' outputFilePath = '../raw/' # TODO relative path.... @@ -105,7 +49,7 @@ def copyFiles(fileList): outputFilePath+f)) -def censorFiles(outputBasePath='../raw/'): +def censorFiles(outputBasePath=outputBasePath): for fileName in listdir(outputBasePath): if not path.isfile(outputBasePath + fileName): continue @@ -114,14 +58,14 @@ def censorFiles(outputBasePath='../raw/'): with open(fileName, 'r', errors='ignore') as f: for line in f.readlines(): for c in censor: - line = line.replace(c, generateBlocks(len(c))) + line = line.replace(c, helpers.generateBlocks(len(c))) newFile = newFile + line with open(fileName, 'w') as f: for line in newFile: f.write(line) -def convertFiles(outputBasePath='../raw/'): +def convertFiles(outputBasePath=outputBasePath): for filename in listdir(outputBasePath): if not path.isfile(outputBasePath + filename): continue diff --git a/src/kitaab-public/grab/network-builder.py b/src/grab/network-builder.py similarity index 100% rename from src/kitaab-public/grab/network-builder.py rename to src/grab/network-builder.py diff --git a/src/grab/network.py b/src/grab/network.py new file mode 100644 index 0000000..e3d8e4b --- /dev/null +++ b/src/grab/network.py @@ -0,0 +1,35 @@ +import json +import random +from shared import helpers +from shared.censor import privateList + +censor = privateList + + +def loadNetwork(path='network.json'): + # Loads the network.json file + with open(path, 'r') as f: + everything = json.load(f) + return everything + + +def setNetwork(everything): + # Everything is loaded from the network.json file + # keys = set(everything.network()) + network = "" + values = set(everything.values()) + everything = network + values + return everything + + +def censorNetwork(network): + # Takes network as a set + for c in censor: + if c in network: + network.add(helpers.generateBlocks(len(c) + random.randint(0, 5))) + network.remove(c) + return network + + +def createIndexNode(network): + pass diff --git a/src/kitaab-public/grab/tree.py b/src/grab/tree.py similarity index 100% rename from src/kitaab-public/grab/tree.py rename to src/grab/tree.py diff --git a/src/kitaab-public/.gitignore b/src/kitaab-public/.gitignore deleted file mode 100644 index d920cb8..0000000 --- a/src/kitaab-public/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -output/ -media/big-self.jpg diff --git a/src/kitaab-public/build/config.py b/src/kitaab-public/build/config.py deleted file mode 100644 index 2ef5493..0000000 --- a/src/kitaab-public/build/config.py +++ /dev/null @@ -1,22 +0,0 @@ -content_folder = ['raw'] -nav_tags = ['dev', 'way', 'recipe', 'ops', 'blog', 'rock', 'phil', 'story', 'blog', 'untagged'] -relative_build_url = "" -absolute_build_url = "https://anish.lakhwara.com/" -files_folder = '' #TODO -build_folder = "output/" -assets_folder = "asset/" -medias_folder = "media/" -template_main = "partial/main.html" -template_nav = "partial/nav.html" -template_index = "partial/index_table.html" -template_list = "partial/list.html" -rss_template = "partial/rss.xml" -rss_item_template = "partial/item.xml" -name_of_site = "Kitaab" -site_meta_description = "" -twitter_name = "@aynish@merveilles.town" -home_name = "Home" -see_all = "See more" -go_back = "Go back to" -date_format = "EU" # Choose between EU day-month-year or ISO year-mont-day -flat_build = True # True or False, if True, all files will be written in the root of the website diff --git a/src/kitaab-public/shared/__init__.py b/src/kitaab-public/shared/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/kitaab-public/shared/config.py b/src/kitaab-public/shared/config.py deleted file mode 100644 index b4c7006..0000000 --- a/src/kitaab-public/shared/config.py +++ /dev/null @@ -1,23 +0,0 @@ -content_folder = ['raw'] -nav_tags = ['dev', 'way', 'recipe', 'ops', 'blog', 'rock', 'phil', 'story', 'blog', 'untagged'] -relative_build_url = "" -absolute_build_url = "https://anish.lakhwara.com/" -files_folder = '' #TODO -build_folder = "output/" -assets_folder = "asset/" -medias_folder = "media/" -raw_folder = "raw/" -template_main = "partial/main.html" -template_nav = "partial/nav.html" -template_index = "partial/index_table.html" -template_list = "partial/list.html" -rss_template = "partial/rss.xml" -rss_item_template = "partial/item.xml" -name_of_site = "Kitaab" -site_meta_description = "" -twitter_name = "@aynish@merveilles.town" -home_name = "Home" -see_all = "See more" -go_back = "Go back to" -date_format = "EU" # Choose between EU day-month-year or ISO year-mont-day -flat_build = True # True or False, if True, all files will be written in the root of the website diff --git a/src/kitaab-public/main.py b/src/main.py similarity index 100% rename from src/kitaab-public/main.py rename to src/main.py diff --git a/src/kitaab-public/media/2c5030bc48b4bfa9.jpeg b/src/media/2c5030bc48b4bfa9.jpeg similarity index 100% rename from src/kitaab-public/media/2c5030bc48b4bfa9.jpeg rename to src/media/2c5030bc48b4bfa9.jpeg diff --git a/src/media/big-self.jpg b/src/media/big-self.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e6566454362b846b33070a818cb08c76403629df GIT binary patch literal 99212 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 NZeV{L2>Rcf{{vRAl5YS2 literal 0 HcmV?d00001 diff --git a/src/kitaab-public/media/blue-man.png b/src/media/blue-man.png similarity index 100% rename from src/kitaab-public/media/blue-man.png rename to src/media/blue-man.png diff --git a/src/kitaab-public/media/chihiro.jpg b/src/media/chihiro.jpg similarity index 100% rename from src/kitaab-public/media/chihiro.jpg rename to src/media/chihiro.jpg diff --git a/src/kitaab-public/media/chisai_square.png b/src/media/chisai_square.png similarity index 100% rename from src/kitaab-public/media/chisai_square.png rename to src/media/chisai_square.png diff --git a/src/kitaab-public/media/city.jpeg b/src/media/city.jpeg similarity index 100% rename from src/kitaab-public/media/city.jpeg rename to src/media/city.jpeg diff --git a/src/kitaab-public/media/kaguya.jpg b/src/media/kaguya.jpg similarity index 100% rename from src/kitaab-public/media/kaguya.jpg rename to src/media/kaguya.jpg diff --git a/src/kitaab-public/media/lady.jpeg b/src/media/lady.jpeg similarity index 100% rename from src/kitaab-public/media/lady.jpeg rename to src/media/lady.jpeg diff --git a/src/kitaab-public/media/self.jpg b/src/media/self.jpg similarity index 100% rename from src/kitaab-public/media/self.jpg rename to src/media/self.jpg diff --git a/src/kitaab-public/raw/1ProjectAMonth.wiki b/src/raw/1ProjectAMonth.wiki similarity index 100% rename from src/kitaab-public/raw/1ProjectAMonth.wiki rename to src/raw/1ProjectAMonth.wiki diff --git a/src/kitaab-public/raw/1thingaday.wiki b/src/raw/1thingaday.wiki similarity index 100% rename from src/kitaab-public/raw/1thingaday.wiki rename to src/raw/1thingaday.wiki diff --git a/src/kitaab-public/raw/200921-1454.wiki b/src/raw/200921-1454.wiki similarity index 100% rename from src/kitaab-public/raw/200921-1454.wiki rename to src/raw/200921-1454.wiki diff --git a/src/kitaab-public/raw/200921-1454a.wiki b/src/raw/200921-1454a.wiki similarity index 100% rename from src/kitaab-public/raw/200921-1454a.wiki rename to src/raw/200921-1454a.wiki diff --git a/src/kitaab-public/raw/200926-2245.wiki b/src/raw/200926-2245.wiki similarity index 100% rename from src/kitaab-public/raw/200926-2245.wiki rename to src/raw/200926-2245.wiki diff --git a/src/kitaab-public/raw/200927-0010.wiki b/src/raw/200927-0010.wiki similarity index 100% rename from src/kitaab-public/raw/200927-0010.wiki rename to src/raw/200927-0010.wiki diff --git a/src/kitaab-public/raw/200927-0028.wiki b/src/raw/200927-0028.wiki similarity index 100% rename from src/kitaab-public/raw/200927-0028.wiki rename to src/raw/200927-0028.wiki diff --git a/src/kitaab-public/raw/200927-0111.wiki b/src/raw/200927-0111.wiki similarity index 100% rename from src/kitaab-public/raw/200927-0111.wiki rename to src/raw/200927-0111.wiki diff --git a/src/kitaab-public/raw/200927-0149.wiki b/src/raw/200927-0149.wiki similarity index 100% rename from src/kitaab-public/raw/200927-0149.wiki rename to src/raw/200927-0149.wiki diff --git a/src/kitaab-public/raw/200927-0158.wiki b/src/raw/200927-0158.wiki similarity index 100% rename from src/kitaab-public/raw/200927-0158.wiki rename to src/raw/200927-0158.wiki diff --git a/src/kitaab-public/raw/200927-1627.wiki b/src/raw/200927-1627.wiki similarity index 100% rename from src/kitaab-public/raw/200927-1627.wiki rename to src/raw/200927-1627.wiki diff --git a/src/kitaab-public/raw/200927-1651.wiki b/src/raw/200927-1651.wiki similarity index 100% rename from src/kitaab-public/raw/200927-1651.wiki rename to src/raw/200927-1651.wiki diff --git a/src/kitaab-public/raw/200927-1730.wiki b/src/raw/200927-1730.wiki similarity index 100% rename from src/kitaab-public/raw/200927-1730.wiki rename to src/raw/200927-1730.wiki diff --git a/src/kitaab-public/raw/200927-1936.wiki b/src/raw/200927-1936.wiki similarity index 100% rename from src/kitaab-public/raw/200927-1936.wiki rename to src/raw/200927-1936.wiki diff --git a/src/kitaab-public/raw/200927-2151.wiki b/src/raw/200927-2151.wiki similarity index 100% rename from src/kitaab-public/raw/200927-2151.wiki rename to src/raw/200927-2151.wiki diff --git a/src/kitaab-public/raw/200927-2157.wiki b/src/raw/200927-2157.wiki similarity index 100% rename from src/kitaab-public/raw/200927-2157.wiki rename to src/raw/200927-2157.wiki diff --git a/src/kitaab-public/raw/200927-2244.wiki b/src/raw/200927-2244.wiki similarity index 100% rename from src/kitaab-public/raw/200927-2244.wiki rename to src/raw/200927-2244.wiki diff --git a/src/kitaab-public/raw/200927-2247.wiki b/src/raw/200927-2247.wiki similarity index 100% rename from src/kitaab-public/raw/200927-2247.wiki rename to src/raw/200927-2247.wiki diff --git a/src/kitaab-public/raw/200927-2247a.wiki b/src/raw/200927-2247a.wiki similarity index 100% rename from src/kitaab-public/raw/200927-2247a.wiki rename to src/raw/200927-2247a.wiki diff --git a/src/kitaab-public/raw/200928-0048.wiki b/src/raw/200928-0048.wiki similarity index 100% rename from src/kitaab-public/raw/200928-0048.wiki rename to src/raw/200928-0048.wiki diff --git a/src/kitaab-public/raw/200928-0059.wiki b/src/raw/200928-0059.wiki similarity index 100% rename from src/kitaab-public/raw/200928-0059.wiki rename to src/raw/200928-0059.wiki diff --git a/src/kitaab-public/raw/200928-1351.wiki b/src/raw/200928-1351.wiki similarity index 100% rename from src/kitaab-public/raw/200928-1351.wiki rename to src/raw/200928-1351.wiki diff --git a/src/kitaab-public/raw/200929-2026.wiki b/src/raw/200929-2026.wiki similarity index 100% rename from src/kitaab-public/raw/200929-2026.wiki rename to src/raw/200929-2026.wiki diff --git a/src/kitaab-public/raw/200930-1921.wiki b/src/raw/200930-1921.wiki similarity index 100% rename from src/kitaab-public/raw/200930-1921.wiki rename to src/raw/200930-1921.wiki diff --git a/src/kitaab-public/raw/200930-2316.wiki b/src/raw/200930-2316.wiki similarity index 100% rename from src/kitaab-public/raw/200930-2316.wiki rename to src/raw/200930-2316.wiki diff --git a/src/kitaab-public/raw/200930-2317.wiki b/src/raw/200930-2317.wiki similarity index 100% rename from src/kitaab-public/raw/200930-2317.wiki rename to src/raw/200930-2317.wiki diff --git a/src/kitaab-public/raw/200930-2319.wiki b/src/raw/200930-2319.wiki similarity index 100% rename from src/kitaab-public/raw/200930-2319.wiki rename to src/raw/200930-2319.wiki diff --git a/src/kitaab-public/raw/201001-1906.wiki b/src/raw/201001-1906.wiki similarity index 100% rename from src/kitaab-public/raw/201001-1906.wiki rename to src/raw/201001-1906.wiki diff --git a/src/kitaab-public/raw/201001-1949.wiki b/src/raw/201001-1949.wiki similarity index 100% rename from src/kitaab-public/raw/201001-1949.wiki rename to src/raw/201001-1949.wiki diff --git a/src/kitaab-public/raw/201003-1607.wiki b/src/raw/201003-1607.wiki similarity index 100% rename from src/kitaab-public/raw/201003-1607.wiki rename to src/raw/201003-1607.wiki diff --git a/src/kitaab-public/raw/201006-2310.wiki b/src/raw/201006-2310.wiki similarity index 100% rename from src/kitaab-public/raw/201006-2310.wiki rename to src/raw/201006-2310.wiki diff --git a/src/kitaab-public/raw/201013-0546.wiki b/src/raw/201013-0546.wiki similarity index 100% rename from src/kitaab-public/raw/201013-0546.wiki rename to src/raw/201013-0546.wiki diff --git a/src/kitaab-public/raw/201013-2143.wiki b/src/raw/201013-2143.wiki similarity index 100% rename from src/kitaab-public/raw/201013-2143.wiki rename to src/raw/201013-2143.wiki diff --git a/src/kitaab-public/raw/201013-2144.wiki b/src/raw/201013-2144.wiki similarity index 100% rename from src/kitaab-public/raw/201013-2144.wiki rename to src/raw/201013-2144.wiki diff --git a/src/kitaab-public/raw/201013-2206.wiki b/src/raw/201013-2206.wiki similarity index 100% rename from src/kitaab-public/raw/201013-2206.wiki rename to src/raw/201013-2206.wiki diff --git a/src/kitaab-public/raw/201013-2207.wiki b/src/raw/201013-2207.wiki similarity index 100% rename from src/kitaab-public/raw/201013-2207.wiki rename to src/raw/201013-2207.wiki diff --git a/src/kitaab-public/raw/201015-2222.wiki b/src/raw/201015-2222.wiki similarity index 100% rename from src/kitaab-public/raw/201015-2222.wiki rename to src/raw/201015-2222.wiki diff --git a/src/kitaab-public/raw/201015-2226.wiki b/src/raw/201015-2226.wiki similarity index 100% rename from src/kitaab-public/raw/201015-2226.wiki rename to src/raw/201015-2226.wiki diff --git a/src/kitaab-public/raw/201015-2229.wiki b/src/raw/201015-2229.wiki similarity index 100% rename from src/kitaab-public/raw/201015-2229.wiki rename to src/raw/201015-2229.wiki diff --git a/src/kitaab-public/raw/201015-2233.wiki b/src/raw/201015-2233.wiki similarity index 100% rename from src/kitaab-public/raw/201015-2233.wiki rename to src/raw/201015-2233.wiki diff --git a/src/kitaab-public/raw/201015-2306.wiki b/src/raw/201015-2306.wiki similarity index 100% rename from src/kitaab-public/raw/201015-2306.wiki rename to src/raw/201015-2306.wiki diff --git a/src/kitaab-public/raw/201015-2306a.wiki b/src/raw/201015-2306a.wiki similarity index 100% rename from src/kitaab-public/raw/201015-2306a.wiki rename to src/raw/201015-2306a.wiki diff --git a/src/kitaab-public/raw/201015-2313.wiki b/src/raw/201015-2313.wiki similarity index 100% rename from src/kitaab-public/raw/201015-2313.wiki rename to src/raw/201015-2313.wiki diff --git a/src/kitaab-public/raw/201017-1546.wiki b/src/raw/201017-1546.wiki similarity index 100% rename from src/kitaab-public/raw/201017-1546.wiki rename to src/raw/201017-1546.wiki diff --git a/src/kitaab-public/raw/201018-2128.wiki b/src/raw/201018-2128.wiki similarity index 100% rename from src/kitaab-public/raw/201018-2128.wiki rename to src/raw/201018-2128.wiki diff --git a/src/kitaab-public/raw/201018-2141.wiki b/src/raw/201018-2141.wiki similarity index 100% rename from src/kitaab-public/raw/201018-2141.wiki rename to src/raw/201018-2141.wiki diff --git a/src/kitaab-public/raw/201018-2147.wiki b/src/raw/201018-2147.wiki similarity index 100% rename from src/kitaab-public/raw/201018-2147.wiki rename to src/raw/201018-2147.wiki diff --git a/src/kitaab-public/raw/201018-2232.wiki b/src/raw/201018-2232.wiki similarity index 100% rename from src/kitaab-public/raw/201018-2232.wiki rename to src/raw/201018-2232.wiki diff --git a/src/kitaab-public/raw/201018-2304.wiki b/src/raw/201018-2304.wiki similarity index 100% rename from src/kitaab-public/raw/201018-2304.wiki rename to src/raw/201018-2304.wiki diff --git a/src/kitaab-public/raw/201019-1905.wiki b/src/raw/201019-1905.wiki similarity index 100% rename from src/kitaab-public/raw/201019-1905.wiki rename to src/raw/201019-1905.wiki diff --git a/src/kitaab-public/raw/201019-2020.wiki b/src/raw/201019-2020.wiki similarity index 100% rename from src/kitaab-public/raw/201019-2020.wiki rename to src/raw/201019-2020.wiki diff --git a/src/kitaab-public/raw/201019-2038.wiki b/src/raw/201019-2038.wiki similarity index 100% rename from src/kitaab-public/raw/201019-2038.wiki rename to src/raw/201019-2038.wiki diff --git a/src/kitaab-public/raw/201019-2220.wiki b/src/raw/201019-2220.wiki similarity index 100% rename from src/kitaab-public/raw/201019-2220.wiki rename to src/raw/201019-2220.wiki diff --git a/src/kitaab-public/raw/201019-2221.wiki b/src/raw/201019-2221.wiki similarity index 100% rename from src/kitaab-public/raw/201019-2221.wiki rename to src/raw/201019-2221.wiki diff --git a/src/kitaab-public/raw/201020-1926.wiki b/src/raw/201020-1926.wiki similarity index 100% rename from src/kitaab-public/raw/201020-1926.wiki rename to src/raw/201020-1926.wiki diff --git a/src/kitaab-public/raw/201021-2043.wiki b/src/raw/201021-2043.wiki similarity index 100% rename from src/kitaab-public/raw/201021-2043.wiki rename to src/raw/201021-2043.wiki diff --git a/src/kitaab-public/raw/201021-2102.wiki b/src/raw/201021-2102.wiki similarity index 100% rename from src/kitaab-public/raw/201021-2102.wiki rename to src/raw/201021-2102.wiki diff --git a/src/kitaab-public/raw/201021-2233.wiki b/src/raw/201021-2233.wiki similarity index 100% rename from src/kitaab-public/raw/201021-2233.wiki rename to src/raw/201021-2233.wiki diff --git a/src/kitaab-public/raw/201025-2352.wiki b/src/raw/201025-2352.wiki similarity index 100% rename from src/kitaab-public/raw/201025-2352.wiki rename to src/raw/201025-2352.wiki diff --git a/src/kitaab-public/raw/201031-0042.wiki b/src/raw/201031-0042.wiki similarity index 100% rename from src/kitaab-public/raw/201031-0042.wiki rename to src/raw/201031-0042.wiki diff --git a/src/kitaab-public/raw/201031-0114.wiki b/src/raw/201031-0114.wiki similarity index 100% rename from src/kitaab-public/raw/201031-0114.wiki rename to src/raw/201031-0114.wiki diff --git a/src/kitaab-public/raw/201103-2109.wiki b/src/raw/201103-2109.wiki similarity index 100% rename from src/kitaab-public/raw/201103-2109.wiki rename to src/raw/201103-2109.wiki diff --git a/src/kitaab-public/raw/201105-1933.wiki b/src/raw/201105-1933.wiki similarity index 100% rename from src/kitaab-public/raw/201105-1933.wiki rename to src/raw/201105-1933.wiki diff --git a/src/kitaab-public/raw/201105-1945.wiki b/src/raw/201105-1945.wiki similarity index 100% rename from src/kitaab-public/raw/201105-1945.wiki rename to src/raw/201105-1945.wiki diff --git a/src/kitaab-public/raw/201105-2043.wiki b/src/raw/201105-2043.wiki similarity index 100% rename from src/kitaab-public/raw/201105-2043.wiki rename to src/raw/201105-2043.wiki diff --git a/src/kitaab-public/raw/201105-2104.wiki b/src/raw/201105-2104.wiki similarity index 100% rename from src/kitaab-public/raw/201105-2104.wiki rename to src/raw/201105-2104.wiki diff --git a/src/kitaab-public/raw/201105-2306.wiki b/src/raw/201105-2306.wiki similarity index 100% rename from src/kitaab-public/raw/201105-2306.wiki rename to src/raw/201105-2306.wiki diff --git a/src/kitaab-public/raw/201105-2309.wiki b/src/raw/201105-2309.wiki similarity index 100% rename from src/kitaab-public/raw/201105-2309.wiki rename to src/raw/201105-2309.wiki diff --git a/src/kitaab-public/raw/201105-2316.wiki b/src/raw/201105-2316.wiki similarity index 100% rename from src/kitaab-public/raw/201105-2316.wiki rename to src/raw/201105-2316.wiki diff --git a/src/kitaab-public/raw/201105-2321.wiki b/src/raw/201105-2321.wiki similarity index 100% rename from src/kitaab-public/raw/201105-2321.wiki rename to src/raw/201105-2321.wiki diff --git a/src/kitaab-public/raw/201105-2338.wiki b/src/raw/201105-2338.wiki similarity index 100% rename from src/kitaab-public/raw/201105-2338.wiki rename to src/raw/201105-2338.wiki diff --git a/src/kitaab-public/raw/201106-0258.wiki b/src/raw/201106-0258.wiki similarity index 100% rename from src/kitaab-public/raw/201106-0258.wiki rename to src/raw/201106-0258.wiki diff --git a/src/kitaab-public/raw/201106-0311.wiki b/src/raw/201106-0311.wiki similarity index 100% rename from src/kitaab-public/raw/201106-0311.wiki rename to src/raw/201106-0311.wiki diff --git a/src/kitaab-public/raw/201108-0205.wiki b/src/raw/201108-0205.wiki similarity index 100% rename from src/kitaab-public/raw/201108-0205.wiki rename to src/raw/201108-0205.wiki diff --git a/src/kitaab-public/raw/201118-1520.wiki b/src/raw/201118-1520.wiki similarity index 100% rename from src/kitaab-public/raw/201118-1520.wiki rename to src/raw/201118-1520.wiki diff --git a/src/kitaab-public/raw/201118-1522.wiki b/src/raw/201118-1522.wiki similarity index 100% rename from src/kitaab-public/raw/201118-1522.wiki rename to src/raw/201118-1522.wiki diff --git a/src/kitaab-public/raw/201119-1157.wiki b/src/raw/201119-1157.wiki similarity index 100% rename from src/kitaab-public/raw/201119-1157.wiki rename to src/raw/201119-1157.wiki diff --git a/src/kitaab-public/raw/201121-1417.wiki b/src/raw/201121-1417.wiki similarity index 100% rename from src/kitaab-public/raw/201121-1417.wiki rename to src/raw/201121-1417.wiki diff --git a/src/kitaab-public/raw/201122-2122.wiki b/src/raw/201122-2122.wiki similarity index 100% rename from src/kitaab-public/raw/201122-2122.wiki rename to src/raw/201122-2122.wiki diff --git a/src/kitaab-public/raw/201122-2123.wiki b/src/raw/201122-2123.wiki similarity index 100% rename from src/kitaab-public/raw/201122-2123.wiki rename to src/raw/201122-2123.wiki diff --git a/src/kitaab-public/raw/201122-2142.wiki b/src/raw/201122-2142.wiki similarity index 100% rename from src/kitaab-public/raw/201122-2142.wiki rename to src/raw/201122-2142.wiki diff --git a/src/kitaab-public/raw/201128-1301.wiki b/src/raw/201128-1301.wiki similarity index 100% rename from src/kitaab-public/raw/201128-1301.wiki rename to src/raw/201128-1301.wiki diff --git a/src/kitaab-public/raw/201128-1326.wiki b/src/raw/201128-1326.wiki similarity index 100% rename from src/kitaab-public/raw/201128-1326.wiki rename to src/raw/201128-1326.wiki diff --git a/src/kitaab-public/raw/201128-1333.wiki b/src/raw/201128-1333.wiki similarity index 100% rename from src/kitaab-public/raw/201128-1333.wiki rename to src/raw/201128-1333.wiki diff --git a/src/kitaab-public/raw/201128-1333a.wiki b/src/raw/201128-1333a.wiki similarity index 100% rename from src/kitaab-public/raw/201128-1333a.wiki rename to src/raw/201128-1333a.wiki diff --git a/src/kitaab-public/raw/201128-1456.wiki b/src/raw/201128-1456.wiki similarity index 100% rename from src/kitaab-public/raw/201128-1456.wiki rename to src/raw/201128-1456.wiki diff --git a/src/kitaab-public/raw/201129-2055.wiki b/src/raw/201129-2055.wiki similarity index 100% rename from src/kitaab-public/raw/201129-2055.wiki rename to src/raw/201129-2055.wiki diff --git a/src/kitaab-public/raw/201206-2150.wiki b/src/raw/201206-2150.wiki similarity index 100% rename from src/kitaab-public/raw/201206-2150.wiki rename to src/raw/201206-2150.wiki diff --git a/src/kitaab-public/raw/201213-1641.wiki b/src/raw/201213-1641.wiki similarity index 100% rename from src/kitaab-public/raw/201213-1641.wiki rename to src/raw/201213-1641.wiki diff --git a/src/kitaab-public/raw/201215-1308.wiki b/src/raw/201215-1308.wiki similarity index 100% rename from src/kitaab-public/raw/201215-1308.wiki rename to src/raw/201215-1308.wiki diff --git a/src/kitaab-public/raw/201215-1310.wiki b/src/raw/201215-1310.wiki similarity index 100% rename from src/kitaab-public/raw/201215-1310.wiki rename to src/raw/201215-1310.wiki diff --git a/src/kitaab-public/raw/201218-1505.wiki b/src/raw/201218-1505.wiki similarity index 100% rename from src/kitaab-public/raw/201218-1505.wiki rename to src/raw/201218-1505.wiki diff --git a/src/kitaab-public/raw/201219-1825.wiki b/src/raw/201219-1825.wiki similarity index 100% rename from src/kitaab-public/raw/201219-1825.wiki rename to src/raw/201219-1825.wiki diff --git a/src/kitaab-public/raw/201219-1839.wiki b/src/raw/201219-1839.wiki similarity index 100% rename from src/kitaab-public/raw/201219-1839.wiki rename to src/raw/201219-1839.wiki diff --git a/src/kitaab-public/raw/201223-0101.wiki b/src/raw/201223-0101.wiki similarity index 100% rename from src/kitaab-public/raw/201223-0101.wiki rename to src/raw/201223-0101.wiki diff --git a/src/kitaab-public/raw/201229-1053.wiki b/src/raw/201229-1053.wiki similarity index 100% rename from src/kitaab-public/raw/201229-1053.wiki rename to src/raw/201229-1053.wiki diff --git a/src/kitaab-public/raw/2019-resolutions.wiki b/src/raw/2019-resolutions.wiki similarity index 100% rename from src/kitaab-public/raw/2019-resolutions.wiki rename to src/raw/2019-resolutions.wiki diff --git a/src/kitaab-public/raw/20201106-1540.wiki b/src/raw/20201106-1540.wiki similarity index 100% rename from src/kitaab-public/raw/20201106-1540.wiki rename to src/raw/20201106-1540.wiki diff --git a/src/kitaab-public/raw/210102-2223.wiki b/src/raw/210102-2223.wiki similarity index 100% rename from src/kitaab-public/raw/210102-2223.wiki rename to src/raw/210102-2223.wiki diff --git a/src/kitaab-public/raw/210103-2319.wiki b/src/raw/210103-2319.wiki similarity index 100% rename from src/kitaab-public/raw/210103-2319.wiki rename to src/raw/210103-2319.wiki diff --git a/src/kitaab-public/raw/210109-2114.wiki b/src/raw/210109-2114.wiki similarity index 100% rename from src/kitaab-public/raw/210109-2114.wiki rename to src/raw/210109-2114.wiki diff --git a/src/kitaab-public/raw/210115-1804.wiki b/src/raw/210115-1804.wiki similarity index 100% rename from src/kitaab-public/raw/210115-1804.wiki rename to src/raw/210115-1804.wiki diff --git a/src/kitaab-public/raw/210115-1809.wiki b/src/raw/210115-1809.wiki similarity index 100% rename from src/kitaab-public/raw/210115-1809.wiki rename to src/raw/210115-1809.wiki diff --git a/src/kitaab-public/raw/210123-1414.wiki b/src/raw/210123-1414.wiki similarity index 100% rename from src/kitaab-public/raw/210123-1414.wiki rename to src/raw/210123-1414.wiki diff --git a/src/kitaab-public/raw/210123-1417.wiki b/src/raw/210123-1417.wiki similarity index 100% rename from src/kitaab-public/raw/210123-1417.wiki rename to src/raw/210123-1417.wiki diff --git a/src/kitaab-public/raw/210124-0033.wiki b/src/raw/210124-0033.wiki similarity index 100% rename from src/kitaab-public/raw/210124-0033.wiki rename to src/raw/210124-0033.wiki diff --git a/src/kitaab-public/raw/210124-0135.wiki b/src/raw/210124-0135.wiki similarity index 100% rename from src/kitaab-public/raw/210124-0135.wiki rename to src/raw/210124-0135.wiki diff --git a/src/kitaab-public/raw/210124-0140.wiki b/src/raw/210124-0140.wiki similarity index 100% rename from src/kitaab-public/raw/210124-0140.wiki rename to src/raw/210124-0140.wiki diff --git a/src/kitaab-public/raw/210124-0144.wiki b/src/raw/210124-0144.wiki similarity index 100% rename from src/kitaab-public/raw/210124-0144.wiki rename to src/raw/210124-0144.wiki diff --git a/src/kitaab-public/raw/210124-0407.wiki b/src/raw/210124-0407.wiki similarity index 100% rename from src/kitaab-public/raw/210124-0407.wiki rename to src/raw/210124-0407.wiki diff --git a/src/kitaab-public/raw/210222-0046.wiki b/src/raw/210222-0046.wiki similarity index 100% rename from src/kitaab-public/raw/210222-0046.wiki rename to src/raw/210222-0046.wiki diff --git a/src/kitaab-public/raw/210222-0114.wiki b/src/raw/210222-0114.wiki similarity index 100% rename from src/kitaab-public/raw/210222-0114.wiki rename to src/raw/210222-0114.wiki diff --git a/src/kitaab-public/raw/210314-1815.wiki b/src/raw/210314-1815.wiki similarity index 100% rename from src/kitaab-public/raw/210314-1815.wiki rename to src/raw/210314-1815.wiki diff --git a/src/kitaab-public/raw/210407-1501.wiki b/src/raw/210407-1501.wiki similarity index 100% rename from src/kitaab-public/raw/210407-1501.wiki rename to src/raw/210407-1501.wiki diff --git a/src/kitaab-public/raw/210409-1109.wiki b/src/raw/210409-1109.wiki similarity index 100% rename from src/kitaab-public/raw/210409-1109.wiki rename to src/raw/210409-1109.wiki diff --git a/src/kitaab-public/raw/210416-2252.wiki b/src/raw/210416-2252.wiki similarity index 100% rename from src/kitaab-public/raw/210416-2252.wiki rename to src/raw/210416-2252.wiki diff --git a/src/kitaab-public/raw/210417-0308.wiki b/src/raw/210417-0308.wiki similarity index 100% rename from src/kitaab-public/raw/210417-0308.wiki rename to src/raw/210417-0308.wiki diff --git a/src/kitaab-public/raw/210417-0322.wiki b/src/raw/210417-0322.wiki similarity index 100% rename from src/kitaab-public/raw/210417-0322.wiki rename to src/raw/210417-0322.wiki diff --git a/src/kitaab-public/raw/210417-0324.wiki b/src/raw/210417-0324.wiki similarity index 100% rename from src/kitaab-public/raw/210417-0324.wiki rename to src/raw/210417-0324.wiki diff --git a/src/kitaab-public/raw/210417-1243.wiki b/src/raw/210417-1243.wiki similarity index 100% rename from src/kitaab-public/raw/210417-1243.wiki rename to src/raw/210417-1243.wiki diff --git a/src/kitaab-public/raw/210509-1322.wiki b/src/raw/210509-1322.wiki similarity index 100% rename from src/kitaab-public/raw/210509-1322.wiki rename to src/raw/210509-1322.wiki diff --git a/src/kitaab-public/raw/210522-1436.wiki b/src/raw/210522-1436.wiki similarity index 100% rename from src/kitaab-public/raw/210522-1436.wiki rename to src/raw/210522-1436.wiki diff --git a/src/kitaab-public/raw/210530-1305.wiki b/src/raw/210530-1305.wiki similarity index 100% rename from src/kitaab-public/raw/210530-1305.wiki rename to src/raw/210530-1305.wiki diff --git a/src/kitaab-public/raw/210611-1631.wiki b/src/raw/210611-1631.wiki similarity index 100% rename from src/kitaab-public/raw/210611-1631.wiki rename to src/raw/210611-1631.wiki diff --git a/src/kitaab-public/raw/210618-1038.wiki b/src/raw/210618-1038.wiki similarity index 100% rename from src/kitaab-public/raw/210618-1038.wiki rename to src/raw/210618-1038.wiki diff --git a/src/kitaab-public/raw/210618-1227.wiki b/src/raw/210618-1227.wiki similarity index 100% rename from src/kitaab-public/raw/210618-1227.wiki rename to src/raw/210618-1227.wiki diff --git a/src/kitaab-public/raw/210707-0544.wiki b/src/raw/210707-0544.wiki similarity index 100% rename from src/kitaab-public/raw/210707-0544.wiki rename to src/raw/210707-0544.wiki diff --git a/src/kitaab-public/raw/210731-2033.wiki b/src/raw/210731-2033.wiki similarity index 100% rename from src/kitaab-public/raw/210731-2033.wiki rename to src/raw/210731-2033.wiki diff --git a/src/kitaab-public/raw/210829-0712.wiki b/src/raw/210829-0712.wiki similarity index 100% rename from src/kitaab-public/raw/210829-0712.wiki rename to src/raw/210829-0712.wiki diff --git a/src/kitaab-public/raw/211004-2002.wiki b/src/raw/211004-2002.wiki similarity index 100% rename from src/kitaab-public/raw/211004-2002.wiki rename to src/raw/211004-2002.wiki diff --git a/src/kitaab-public/raw/211022-1728.wiki b/src/raw/211022-1728.wiki similarity index 100% rename from src/kitaab-public/raw/211022-1728.wiki rename to src/raw/211022-1728.wiki diff --git a/src/kitaab-public/raw/211029-1128.wiki b/src/raw/211029-1128.wiki similarity index 100% rename from src/kitaab-public/raw/211029-1128.wiki rename to src/raw/211029-1128.wiki diff --git a/src/kitaab-public/raw/211029-1324.wiki b/src/raw/211029-1324.wiki similarity index 100% rename from src/kitaab-public/raw/211029-1324.wiki rename to src/raw/211029-1324.wiki diff --git a/src/kitaab-public/raw/211102-2358.wiki b/src/raw/211102-2358.wiki similarity index 100% rename from src/kitaab-public/raw/211102-2358.wiki rename to src/raw/211102-2358.wiki diff --git a/src/kitaab-public/raw/211104-0150.wiki b/src/raw/211104-0150.wiki similarity index 100% rename from src/kitaab-public/raw/211104-0150.wiki rename to src/raw/211104-0150.wiki diff --git a/src/kitaab-public/raw/211104-0210.wiki b/src/raw/211104-0210.wiki similarity index 100% rename from src/kitaab-public/raw/211104-0210.wiki rename to src/raw/211104-0210.wiki diff --git a/src/kitaab-public/raw/211107-2158.wiki b/src/raw/211107-2158.wiki similarity index 100% rename from src/kitaab-public/raw/211107-2158.wiki rename to src/raw/211107-2158.wiki diff --git a/src/kitaab-public/raw/211107-2309.wiki b/src/raw/211107-2309.wiki similarity index 100% rename from src/kitaab-public/raw/211107-2309.wiki rename to src/raw/211107-2309.wiki diff --git a/src/kitaab-public/raw/211116-2244.wiki b/src/raw/211116-2244.wiki similarity index 100% rename from src/kitaab-public/raw/211116-2244.wiki rename to src/raw/211116-2244.wiki diff --git a/src/kitaab-public/raw/211116-2255.wiki b/src/raw/211116-2255.wiki similarity index 100% rename from src/kitaab-public/raw/211116-2255.wiki rename to src/raw/211116-2255.wiki diff --git a/src/kitaab-public/raw/211120-0228.wiki b/src/raw/211120-0228.wiki similarity index 100% rename from src/kitaab-public/raw/211120-0228.wiki rename to src/raw/211120-0228.wiki diff --git a/src/kitaab-public/raw/211121-0144.wiki b/src/raw/211121-0144.wiki similarity index 100% rename from src/kitaab-public/raw/211121-0144.wiki rename to src/raw/211121-0144.wiki diff --git a/src/kitaab-public/raw/211130-2052.wiki b/src/raw/211130-2052.wiki similarity index 100% rename from src/kitaab-public/raw/211130-2052.wiki rename to src/raw/211130-2052.wiki diff --git a/src/kitaab-public/raw/211204-0155.wiki b/src/raw/211204-0155.wiki similarity index 100% rename from src/kitaab-public/raw/211204-0155.wiki rename to src/raw/211204-0155.wiki diff --git a/src/kitaab-public/raw/211211-2254.wiki b/src/raw/211211-2254.wiki similarity index 100% rename from src/kitaab-public/raw/211211-2254.wiki rename to src/raw/211211-2254.wiki diff --git a/src/kitaab-public/raw/211212-1150.wiki b/src/raw/211212-1150.wiki similarity index 100% rename from src/kitaab-public/raw/211212-1150.wiki rename to src/raw/211212-1150.wiki diff --git a/src/kitaab-public/raw/211212-1939.wiki b/src/raw/211212-1939.wiki similarity index 100% rename from src/kitaab-public/raw/211212-1939.wiki rename to src/raw/211212-1939.wiki diff --git a/src/kitaab-public/raw/211218-0150.wiki b/src/raw/211218-0150.wiki similarity index 100% rename from src/kitaab-public/raw/211218-0150.wiki rename to src/raw/211218-0150.wiki diff --git a/src/kitaab-public/raw/211220-1658.wiki b/src/raw/211220-1658.wiki similarity index 100% rename from src/kitaab-public/raw/211220-1658.wiki rename to src/raw/211220-1658.wiki diff --git a/src/kitaab-public/raw/211220-1838.wiki b/src/raw/211220-1838.wiki similarity index 100% rename from src/kitaab-public/raw/211220-1838.wiki rename to src/raw/211220-1838.wiki diff --git a/src/kitaab-public/raw/211226-1526.wiki b/src/raw/211226-1526.wiki similarity index 100% rename from src/kitaab-public/raw/211226-1526.wiki rename to src/raw/211226-1526.wiki diff --git a/src/kitaab-public/raw/211227-2301.wiki b/src/raw/211227-2301.wiki similarity index 100% rename from src/kitaab-public/raw/211227-2301.wiki rename to src/raw/211227-2301.wiki diff --git a/src/kitaab-public/raw/220104-2114.wiki b/src/raw/220104-2114.wiki similarity index 100% rename from src/kitaab-public/raw/220104-2114.wiki rename to src/raw/220104-2114.wiki diff --git a/src/kitaab-public/raw/220106-2211.wiki b/src/raw/220106-2211.wiki similarity index 100% rename from src/kitaab-public/raw/220106-2211.wiki rename to src/raw/220106-2211.wiki diff --git a/src/kitaab-public/raw/220115-1438.wiki b/src/raw/220115-1438.wiki similarity index 100% rename from src/kitaab-public/raw/220115-1438.wiki rename to src/raw/220115-1438.wiki diff --git a/src/kitaab-public/raw/220116-0453.wiki b/src/raw/220116-0453.wiki similarity index 100% rename from src/kitaab-public/raw/220116-0453.wiki rename to src/raw/220116-0453.wiki diff --git a/src/kitaab-public/raw/220116-0509.wiki b/src/raw/220116-0509.wiki similarity index 100% rename from src/kitaab-public/raw/220116-0509.wiki rename to src/raw/220116-0509.wiki diff --git a/src/kitaab-public/raw/220117-0131.wiki b/src/raw/220117-0131.wiki similarity index 100% rename from src/kitaab-public/raw/220117-0131.wiki rename to src/raw/220117-0131.wiki diff --git a/src/kitaab-public/raw/220122-0146.wiki b/src/raw/220122-0146.wiki similarity index 100% rename from src/kitaab-public/raw/220122-0146.wiki rename to src/raw/220122-0146.wiki diff --git a/src/kitaab-public/raw/220128-0244.wiki b/src/raw/220128-0244.wiki similarity index 100% rename from src/kitaab-public/raw/220128-0244.wiki rename to src/raw/220128-0244.wiki diff --git a/src/kitaab-public/raw/220203-0332.wiki b/src/raw/220203-0332.wiki similarity index 100% rename from src/kitaab-public/raw/220203-0332.wiki rename to src/raw/220203-0332.wiki diff --git a/src/kitaab-public/raw/220208-2310.wiki b/src/raw/220208-2310.wiki similarity index 100% rename from src/kitaab-public/raw/220208-2310.wiki rename to src/raw/220208-2310.wiki diff --git a/src/kitaab-public/raw/220212-1401.wiki b/src/raw/220212-1401.wiki similarity index 100% rename from src/kitaab-public/raw/220212-1401.wiki rename to src/raw/220212-1401.wiki diff --git a/src/kitaab-public/raw/220213-2040.wiki b/src/raw/220213-2040.wiki similarity index 100% rename from src/kitaab-public/raw/220213-2040.wiki rename to src/raw/220213-2040.wiki diff --git a/src/kitaab-public/raw/220226-0007.wiki b/src/raw/220226-0007.wiki similarity index 100% rename from src/kitaab-public/raw/220226-0007.wiki rename to src/raw/220226-0007.wiki diff --git a/src/kitaab-public/raw/220226-2025.wiki b/src/raw/220226-2025.wiki similarity index 100% rename from src/kitaab-public/raw/220226-2025.wiki rename to src/raw/220226-2025.wiki diff --git a/src/kitaab-public/raw/2420-w3.wiki b/src/raw/2420-w3.wiki similarity index 100% rename from src/kitaab-public/raw/2420-w3.wiki rename to src/raw/2420-w3.wiki diff --git a/src/kitaab-public/raw/2420-w4.wiki b/src/raw/2420-w4.wiki similarity index 100% rename from src/kitaab-public/raw/2420-w4.wiki rename to src/raw/2420-w4.wiki diff --git a/src/kitaab-public/raw/2420.wiki b/src/raw/2420.wiki similarity index 100% rename from src/kitaab-public/raw/2420.wiki rename to src/raw/2420.wiki diff --git a/src/kitaab-public/raw/4450-week2.wiki b/src/raw/4450-week2.wiki similarity index 100% rename from src/kitaab-public/raw/4450-week2.wiki rename to src/raw/4450-week2.wiki diff --git a/src/kitaab-public/raw/4880-w1.wiki b/src/raw/4880-w1.wiki similarity index 100% rename from src/kitaab-public/raw/4880-w1.wiki rename to src/raw/4880-w1.wiki diff --git a/src/kitaab-public/raw/Archive.wiki b/src/raw/Archive.wiki similarity index 100% rename from src/kitaab-public/raw/Archive.wiki rename to src/raw/Archive.wiki diff --git a/src/kitaab-public/raw/Backups.wiki b/src/raw/Backups.wiki similarity index 100% rename from src/kitaab-public/raw/Backups.wiki rename to src/raw/Backups.wiki diff --git a/src/kitaab-public/raw/Blog.sync-conflict-20201019-094152-KZ7HRBJ.wiki b/src/raw/Blog.sync-conflict-20201019-094152-KZ7HRBJ.wiki similarity index 100% rename from src/kitaab-public/raw/Blog.sync-conflict-20201019-094152-KZ7HRBJ.wiki rename to src/raw/Blog.sync-conflict-20201019-094152-KZ7HRBJ.wiki diff --git a/src/kitaab-public/raw/Blog.wiki b/src/raw/Blog.wiki similarity index 100% rename from src/kitaab-public/raw/Blog.wiki rename to src/raw/Blog.wiki diff --git a/src/kitaab-public/raw/COMP2420.wiki b/src/raw/COMP2420.wiki similarity index 100% rename from src/kitaab-public/raw/COMP2420.wiki rename to src/raw/COMP2420.wiki diff --git a/src/kitaab-public/raw/COMP4450.wiki b/src/raw/COMP4450.wiki similarity index 100% rename from src/kitaab-public/raw/COMP4450.wiki rename to src/raw/COMP4450.wiki diff --git a/src/kitaab-public/raw/COMP4880.wiki b/src/raw/COMP4880.wiki similarity index 100% rename from src/kitaab-public/raw/COMP4880.wiki rename to src/raw/COMP4880.wiki diff --git a/src/kitaab-public/raw/Expand-Your-We.wiki b/src/raw/Expand-Your-We.wiki similarity index 100% rename from src/kitaab-public/raw/Expand-Your-We.wiki rename to src/raw/Expand-Your-We.wiki diff --git a/src/kitaab-public/raw/Experiments.wiki b/src/raw/Experiments.wiki similarity index 100% rename from src/kitaab-public/raw/Experiments.wiki rename to src/raw/Experiments.wiki diff --git a/src/kitaab-public/raw/Fava.wiki b/src/raw/Fava.wiki similarity index 100% rename from src/kitaab-public/raw/Fava.wiki rename to src/raw/Fava.wiki diff --git a/src/kitaab-public/raw/HUMN1001.wiki b/src/raw/HUMN1001.wiki similarity index 100% rename from src/kitaab-public/raw/HUMN1001.wiki rename to src/raw/HUMN1001.wiki diff --git a/src/kitaab-public/raw/HackingArtOfExploitation.wiki b/src/raw/HackingArtOfExploitation.wiki similarity index 100% rename from src/kitaab-public/raw/HackingArtOfExploitation.wiki rename to src/raw/HackingArtOfExploitation.wiki diff --git a/src/kitaab-public/raw/Industrial-Ops.wiki b/src/raw/Industrial-Ops.wiki similarity index 100% rename from src/kitaab-public/raw/Industrial-Ops.wiki rename to src/raw/Industrial-Ops.wiki diff --git a/src/kitaab-public/raw/Infrastructure.sync-conflict-20201012-130837-KZ7HRBJ.wiki b/src/raw/Infrastructure.sync-conflict-20201012-130837-KZ7HRBJ.wiki similarity index 100% rename from src/kitaab-public/raw/Infrastructure.sync-conflict-20201012-130837-KZ7HRBJ.wiki rename to src/raw/Infrastructure.sync-conflict-20201012-130837-KZ7HRBJ.wiki diff --git a/src/kitaab-public/raw/Infrastructure.wiki b/src/raw/Infrastructure.wiki similarity index 100% rename from src/kitaab-public/raw/Infrastructure.wiki rename to src/raw/Infrastructure.wiki diff --git a/src/kitaab-public/raw/Kitaab.wiki b/src/raw/Kitaab.wiki similarity index 100% rename from src/kitaab-public/raw/Kitaab.wiki rename to src/raw/Kitaab.wiki diff --git a/src/kitaab-public/raw/Nextcloud.wiki b/src/raw/Nextcloud.wiki similarity index 100% rename from src/kitaab-public/raw/Nextcloud.wiki rename to src/raw/Nextcloud.wiki diff --git a/src/kitaab-public/raw/Norns.wiki b/src/raw/Norns.wiki similarity index 100% rename from src/kitaab-public/raw/Norns.wiki rename to src/raw/Norns.wiki diff --git a/src/kitaab-public/raw/ORCA.wiki b/src/raw/ORCA.wiki similarity index 100% rename from src/kitaab-public/raw/ORCA.wiki rename to src/raw/ORCA.wiki diff --git a/src/kitaab-public/raw/Punya.wiki b/src/raw/Punya.wiki similarity index 100% rename from src/kitaab-public/raw/Punya.wiki rename to src/raw/Punya.wiki diff --git a/src/kitaab-public/raw/Puralek.wiki b/src/raw/Puralek.wiki similarity index 100% rename from src/kitaab-public/raw/Puralek.wiki rename to src/raw/Puralek.wiki diff --git a/src/kitaab-public/raw/ReverseEngineering.wiki b/src/raw/ReverseEngineering.wiki similarity index 100% rename from src/kitaab-public/raw/ReverseEngineering.wiki rename to src/raw/ReverseEngineering.wiki diff --git a/src/kitaab-public/raw/SM-jira-meeting-notes.wiki b/src/raw/SM-jira-meeting-notes.wiki similarity index 100% rename from src/kitaab-public/raw/SM-jira-meeting-notes.wiki rename to src/raw/SM-jira-meeting-notes.wiki diff --git a/src/kitaab-public/raw/SQLi.wiki b/src/raw/SQLi.wiki similarity index 100% rename from src/kitaab-public/raw/SQLi.wiki rename to src/raw/SQLi.wiki diff --git a/src/kitaab-public/raw/Uni.wiki b/src/raw/Uni.wiki similarity index 100% rename from src/kitaab-public/raw/Uni.wiki rename to src/raw/Uni.wiki diff --git a/src/kitaab-public/raw/Website.wiki b/src/raw/Website.wiki similarity index 100% rename from src/kitaab-public/raw/Website.wiki rename to src/raw/Website.wiki diff --git a/src/kitaab-public/raw/Writing.sync-conflict-20210105-170339-3AWSEIW.wiki b/src/raw/Writing.sync-conflict-20210105-170339-3AWSEIW.wiki similarity index 100% rename from src/kitaab-public/raw/Writing.sync-conflict-20210105-170339-3AWSEIW.wiki rename to src/raw/Writing.sync-conflict-20210105-170339-3AWSEIW.wiki diff --git a/src/kitaab-public/raw/Writing.sync-conflict-20210105-172913-3AWSEIW.wiki b/src/raw/Writing.sync-conflict-20210105-172913-3AWSEIW.wiki similarity index 100% rename from src/kitaab-public/raw/Writing.sync-conflict-20210105-172913-3AWSEIW.wiki rename to src/raw/Writing.sync-conflict-20210105-172913-3AWSEIW.wiki diff --git a/src/kitaab-public/raw/Writing.wiki b/src/raw/Writing.wiki similarity index 100% rename from src/kitaab-public/raw/Writing.wiki rename to src/raw/Writing.wiki diff --git a/src/kitaab-public/raw/XSS.wiki b/src/raw/XSS.wiki similarity index 100% rename from src/kitaab-public/raw/XSS.wiki rename to src/raw/XSS.wiki diff --git a/src/kitaab-public/raw/Yaad.wiki b/src/raw/Yaad.wiki similarity index 100% rename from src/kitaab-public/raw/Yaad.wiki rename to src/raw/Yaad.wiki diff --git a/src/kitaab-public/raw/aardwolf.wiki b/src/raw/aardwolf.wiki similarity index 100% rename from src/kitaab-public/raw/aardwolf.wiki rename to src/raw/aardwolf.wiki diff --git a/src/kitaab-public/raw/alert-matrix.wiki b/src/raw/alert-matrix.wiki similarity index 100% rename from src/kitaab-public/raw/alert-matrix.wiki rename to src/raw/alert-matrix.wiki diff --git a/src/kitaab-public/raw/america-travel-2018.wiki b/src/raw/america-travel-2018.wiki similarity index 100% rename from src/kitaab-public/raw/america-travel-2018.wiki rename to src/raw/america-travel-2018.wiki diff --git a/src/kitaab-public/raw/auggar.wiki b/src/raw/auggar.wiki similarity index 100% rename from src/kitaab-public/raw/auggar.wiki rename to src/raw/auggar.wiki diff --git a/src/kitaab-public/raw/auto-curate.wiki b/src/raw/auto-curate.wiki similarity index 100% rename from src/kitaab-public/raw/auto-curate.wiki rename to src/raw/auto-curate.wiki diff --git a/src/kitaab-public/raw/aws-tail.wiki b/src/raw/aws-tail.wiki similarity index 100% rename from src/kitaab-public/raw/aws-tail.wiki rename to src/raw/aws-tail.wiki diff --git a/src/kitaab-public/raw/baking.wiki b/src/raw/baking.wiki similarity index 100% rename from src/kitaab-public/raw/baking.wiki rename to src/raw/baking.wiki diff --git a/src/kitaab-public/raw/blog.wiki b/src/raw/blog.wiki similarity index 100% rename from src/kitaab-public/raw/blog.wiki rename to src/raw/blog.wiki diff --git a/src/kitaab-public/raw/bots.wiki b/src/raw/bots.wiki similarity index 100% rename from src/kitaab-public/raw/bots.wiki rename to src/raw/bots.wiki diff --git a/src/kitaab-public/raw/bowl.wiki b/src/raw/bowl.wiki similarity index 100% rename from src/kitaab-public/raw/bowl.wiki rename to src/raw/bowl.wiki diff --git a/src/kitaab-public/raw/box.wiki b/src/raw/box.wiki similarity index 100% rename from src/kitaab-public/raw/box.wiki rename to src/raw/box.wiki diff --git a/src/kitaab-public/raw/bread.wiki b/src/raw/bread.wiki similarity index 100% rename from src/kitaab-public/raw/bread.wiki rename to src/raw/bread.wiki diff --git a/src/kitaab-public/raw/brisbane.wiki b/src/raw/brisbane.wiki similarity index 100% rename from src/kitaab-public/raw/brisbane.wiki rename to src/raw/brisbane.wiki diff --git a/src/kitaab-public/raw/brooyar2020.wiki b/src/raw/brooyar2020.wiki similarity index 100% rename from src/kitaab-public/raw/brooyar2020.wiki rename to src/raw/brooyar2020.wiki diff --git a/src/kitaab-public/raw/canberra2020.wiki b/src/raw/canberra2020.wiki similarity index 100% rename from src/kitaab-public/raw/canberra2020.wiki rename to src/raw/canberra2020.wiki diff --git a/src/kitaab-public/raw/cherry-pick.wiki b/src/raw/cherry-pick.wiki similarity index 100% rename from src/kitaab-public/raw/cherry-pick.wiki rename to src/raw/cherry-pick.wiki diff --git a/src/kitaab-public/raw/chores.wiki b/src/raw/chores.wiki similarity index 100% rename from src/kitaab-public/raw/chores.wiki rename to src/raw/chores.wiki diff --git a/src/kitaab-public/raw/click-to-jira.wiki b/src/raw/click-to-jira.wiki similarity index 100% rename from src/kitaab-public/raw/click-to-jira.wiki rename to src/raw/click-to-jira.wiki diff --git a/src/kitaab-public/raw/coffee.wiki b/src/raw/coffee.wiki similarity index 100% rename from src/kitaab-public/raw/coffee.wiki rename to src/raw/coffee.wiki diff --git a/src/kitaab-public/raw/contributions.sync-conflict-20201003-153925-KZ7HRBJ.wiki b/src/raw/contributions.sync-conflict-20201003-153925-KZ7HRBJ.wiki similarity index 100% rename from src/kitaab-public/raw/contributions.sync-conflict-20201003-153925-KZ7HRBJ.wiki rename to src/raw/contributions.sync-conflict-20201003-153925-KZ7HRBJ.wiki diff --git a/src/kitaab-public/raw/contributions.wiki b/src/raw/contributions.wiki similarity index 100% rename from src/kitaab-public/raw/contributions.wiki rename to src/raw/contributions.wiki diff --git a/src/kitaab-public/raw/counsellor.wiki b/src/raw/counsellor.wiki similarity index 100% rename from src/kitaab-public/raw/counsellor.wiki rename to src/raw/counsellor.wiki diff --git a/src/kitaab-public/raw/craft.wiki b/src/raw/craft.wiki similarity index 100% rename from src/kitaab-public/raw/craft.wiki rename to src/raw/craft.wiki diff --git a/src/kitaab-public/raw/crafts.wiki b/src/raw/crafts.wiki similarity index 100% rename from src/kitaab-public/raw/crafts.wiki rename to src/raw/crafts.wiki diff --git a/src/kitaab-public/raw/css.wiki b/src/raw/css.wiki similarity index 100% rename from src/kitaab-public/raw/css.wiki rename to src/raw/css.wiki diff --git a/src/kitaab-public/raw/cube.wiki b/src/raw/cube.wiki similarity index 100% rename from src/kitaab-public/raw/cube.wiki rename to src/raw/cube.wiki diff --git a/src/kitaab-public/raw/curve.wiki b/src/raw/curve.wiki similarity index 100% rename from src/kitaab-public/raw/curve.wiki rename to src/raw/curve.wiki diff --git a/src/kitaab-public/raw/datalife.wiki b/src/raw/datalife.wiki similarity index 100% rename from src/kitaab-public/raw/datalife.wiki rename to src/raw/datalife.wiki diff --git a/src/kitaab-public/raw/dev.wiki b/src/raw/dev.wiki similarity index 100% rename from src/kitaab-public/raw/dev.wiki rename to src/raw/dev.wiki diff --git a/src/kitaab-public/raw/django.wiki b/src/raw/django.wiki similarity index 100% rename from src/kitaab-public/raw/django.wiki rename to src/raw/django.wiki diff --git a/src/kitaab-public/raw/dmi.wiki b/src/raw/dmi.wiki similarity index 100% rename from src/kitaab-public/raw/dmi.wiki rename to src/raw/dmi.wiki diff --git a/src/kitaab-public/raw/dot.wiki b/src/raw/dot.wiki similarity index 100% rename from src/kitaab-public/raw/dot.wiki rename to src/raw/dot.wiki diff --git a/src/kitaab-public/raw/dotgarden.wiki b/src/raw/dotgarden.wiki similarity index 100% rename from src/kitaab-public/raw/dotgarden.wiki rename to src/raw/dotgarden.wiki diff --git a/src/kitaab-public/raw/electronics.wiki b/src/raw/electronics.wiki similarity index 100% rename from src/kitaab-public/raw/electronics.wiki rename to src/raw/electronics.wiki diff --git a/src/kitaab-public/raw/fermentation.wiki b/src/raw/fermentation.wiki similarity index 100% rename from src/kitaab-public/raw/fermentation.wiki rename to src/raw/fermentation.wiki diff --git a/src/kitaab-public/raw/finances.wiki b/src/raw/finances.wiki similarity index 100% rename from src/kitaab-public/raw/finances.wiki rename to src/raw/finances.wiki diff --git a/src/kitaab-public/raw/gardening.wiki b/src/raw/gardening.wiki similarity index 100% rename from src/kitaab-public/raw/gardening.wiki rename to src/raw/gardening.wiki diff --git a/src/kitaab-public/raw/generative.wiki b/src/raw/generative.wiki similarity index 100% rename from src/kitaab-public/raw/generative.wiki rename to src/raw/generative.wiki diff --git a/src/kitaab-public/raw/goals.wiki b/src/raw/goals.wiki similarity index 100% rename from src/kitaab-public/raw/goals.wiki rename to src/raw/goals.wiki diff --git a/src/kitaab-public/raw/godemodemay.wiki b/src/raw/godemodemay.wiki similarity index 100% rename from src/kitaab-public/raw/godemodemay.wiki rename to src/raw/godemodemay.wiki diff --git a/src/kitaab-public/raw/godmodemay.wiki b/src/raw/godmodemay.wiki similarity index 100% rename from src/kitaab-public/raw/godmodemay.wiki rename to src/raw/godmodemay.wiki diff --git a/src/kitaab-public/raw/grasp.wiki b/src/raw/grasp.wiki similarity index 100% rename from src/kitaab-public/raw/grasp.wiki rename to src/raw/grasp.wiki diff --git a/src/kitaab-public/raw/gratitude.wiki b/src/raw/gratitude.wiki similarity index 100% rename from src/kitaab-public/raw/gratitude.wiki rename to src/raw/gratitude.wiki diff --git a/src/kitaab-public/raw/groceries.sync-conflict-20210102-225658-LX5ZRTJ.wiki b/src/raw/groceries.sync-conflict-20210102-225658-LX5ZRTJ.wiki similarity index 100% rename from src/kitaab-public/raw/groceries.sync-conflict-20210102-225658-LX5ZRTJ.wiki rename to src/raw/groceries.sync-conflict-20210102-225658-LX5ZRTJ.wiki diff --git a/src/kitaab-public/raw/groceries.wiki b/src/raw/groceries.wiki similarity index 100% rename from src/kitaab-public/raw/groceries.wiki rename to src/raw/groceries.wiki diff --git a/src/kitaab-public/raw/habitsGtk.wiki b/src/raw/habitsGtk.wiki similarity index 100% rename from src/kitaab-public/raw/habitsGtk.wiki rename to src/raw/habitsGtk.wiki diff --git a/src/kitaab-public/raw/hack.wiki b/src/raw/hack.wiki similarity index 100% rename from src/kitaab-public/raw/hack.wiki rename to src/raw/hack.wiki diff --git a/src/kitaab-public/raw/hacker101.wiki b/src/raw/hacker101.wiki similarity index 100% rename from src/kitaab-public/raw/hacker101.wiki rename to src/raw/hacker101.wiki diff --git a/src/kitaab-public/raw/helix.wiki b/src/raw/helix.wiki similarity index 100% rename from src/kitaab-public/raw/helix.wiki rename to src/raw/helix.wiki diff --git a/src/kitaab-public/raw/hitman-roguelike.wiki b/src/raw/hitman-roguelike.wiki similarity index 100% rename from src/kitaab-public/raw/hitman-roguelike.wiki rename to src/raw/hitman-roguelike.wiki diff --git a/src/kitaab-public/raw/home.wiki b/src/raw/home.wiki similarity index 100% rename from src/kitaab-public/raw/home.wiki rename to src/raw/home.wiki diff --git a/src/kitaab-public/raw/humn1001-week3.wiki b/src/raw/humn1001-week3.wiki similarity index 100% rename from src/kitaab-public/raw/humn1001-week3.wiki rename to src/raw/humn1001-week3.wiki diff --git a/src/kitaab-public/raw/hyperplane.wiki b/src/raw/hyperplane.wiki similarity index 100% rename from src/kitaab-public/raw/hyperplane.wiki rename to src/raw/hyperplane.wiki diff --git a/src/kitaab-public/raw/ideas.wiki b/src/raw/ideas.wiki similarity index 100% rename from src/kitaab-public/raw/ideas.wiki rename to src/raw/ideas.wiki diff --git a/src/kitaab-public/raw/index.wiki b/src/raw/index.wiki similarity index 100% rename from src/kitaab-public/raw/index.wiki rename to src/raw/index.wiki diff --git a/src/kitaab-public/raw/india-2018.wiki b/src/raw/india-2018.wiki similarity index 100% rename from src/kitaab-public/raw/india-2018.wiki rename to src/raw/india-2018.wiki diff --git a/src/kitaab-public/raw/indieWeb.wiki b/src/raw/indieWeb.wiki similarity index 100% rename from src/kitaab-public/raw/indieWeb.wiki rename to src/raw/indieWeb.wiki diff --git a/src/kitaab-public/raw/intro.wiki b/src/raw/intro.wiki similarity index 100% rename from src/kitaab-public/raw/intro.wiki rename to src/raw/intro.wiki diff --git a/src/kitaab-public/raw/isit420yet.wiki b/src/raw/isit420yet.wiki similarity index 100% rename from src/kitaab-public/raw/isit420yet.wiki rename to src/raw/isit420yet.wiki diff --git a/src/kitaab-public/raw/job.wiki b/src/raw/job.wiki similarity index 100% rename from src/kitaab-public/raw/job.wiki rename to src/raw/job.wiki diff --git a/src/kitaab-public/raw/just so.wiki b/src/raw/just so.wiki similarity index 100% rename from src/kitaab-public/raw/just so.wiki rename to src/raw/just so.wiki diff --git a/src/kitaab-public/raw/kendrit-vim.wiki b/src/raw/kendrit-vim.wiki similarity index 100% rename from src/kitaab-public/raw/kendrit-vim.wiki rename to src/raw/kendrit-vim.wiki diff --git a/src/kitaab-public/raw/kendrit.wiki b/src/raw/kendrit.wiki similarity index 100% rename from src/kitaab-public/raw/kendrit.wiki rename to src/raw/kendrit.wiki diff --git a/src/kitaab-public/raw/korea2019.wiki b/src/raw/korea2019.wiki similarity index 100% rename from src/kitaab-public/raw/korea2019.wiki rename to src/raw/korea2019.wiki diff --git a/src/kitaab-public/raw/lifeTracker.wiki b/src/raw/lifeTracker.wiki similarity index 100% rename from src/kitaab-public/raw/lifeTracker.wiki rename to src/raw/lifeTracker.wiki diff --git a/src/kitaab-public/raw/line.wiki b/src/raw/line.wiki similarity index 100% rename from src/kitaab-public/raw/line.wiki rename to src/raw/line.wiki diff --git a/src/kitaab-public/raw/link-store.wiki b/src/raw/link-store.wiki similarity index 100% rename from src/kitaab-public/raw/link-store.wiki rename to src/raw/link-store.wiki diff --git a/src/kitaab-public/raw/linux.wiki b/src/raw/linux.wiki similarity index 100% rename from src/kitaab-public/raw/linux.wiki rename to src/raw/linux.wiki diff --git a/src/kitaab-public/raw/log.wiki b/src/raw/log.wiki similarity index 100% rename from src/kitaab-public/raw/log.wiki rename to src/raw/log.wiki diff --git a/src/kitaab-public/raw/maze.wiki b/src/raw/maze.wiki similarity index 100% rename from src/kitaab-public/raw/maze.wiki rename to src/raw/maze.wiki diff --git a/src/kitaab-public/raw/media.wiki b/src/raw/media.wiki similarity index 100% rename from src/kitaab-public/raw/media.wiki rename to src/raw/media.wiki diff --git a/src/kitaab-public/raw/memex.wiki b/src/raw/memex.wiki similarity index 100% rename from src/kitaab-public/raw/memex.wiki rename to src/raw/memex.wiki diff --git a/src/kitaab-public/raw/meta.wiki b/src/raw/meta.wiki similarity index 100% rename from src/kitaab-public/raw/meta.wiki rename to src/raw/meta.wiki diff --git a/src/kitaab-public/raw/morning-list.wiki b/src/raw/morning-list.wiki similarity index 100% rename from src/kitaab-public/raw/morning-list.wiki rename to src/raw/morning-list.wiki diff --git a/src/kitaab-public/raw/mossnet.wiki b/src/raw/mossnet.wiki similarity index 100% rename from src/kitaab-public/raw/mossnet.wiki rename to src/raw/mossnet.wiki diff --git a/src/kitaab-public/raw/moving.wiki b/src/raw/moving.wiki similarity index 100% rename from src/kitaab-public/raw/moving.wiki rename to src/raw/moving.wiki diff --git a/src/kitaab-public/raw/nadir.wiki b/src/raw/nadir.wiki similarity index 100% rename from src/kitaab-public/raw/nadir.wiki rename to src/raw/nadir.wiki diff --git a/src/kitaab-public/raw/newpage.wiki b/src/raw/newpage.wiki similarity index 100% rename from src/kitaab-public/raw/newpage.wiki rename to src/raw/newpage.wiki diff --git a/src/kitaab-public/raw/news-agg.wiki b/src/raw/news-agg.wiki similarity index 100% rename from src/kitaab-public/raw/news-agg.wiki rename to src/raw/news-agg.wiki diff --git a/src/kitaab-public/raw/nix-lang.wiki b/src/raw/nix-lang.wiki similarity index 100% rename from src/kitaab-public/raw/nix-lang.wiki rename to src/raw/nix-lang.wiki diff --git a/src/kitaab-public/raw/nixOS.wiki b/src/raw/nixOS.wiki similarity index 100% rename from src/kitaab-public/raw/nixOS.wiki rename to src/raw/nixOS.wiki diff --git a/src/kitaab-public/raw/nixpkgs.wiki b/src/raw/nixpkgs.wiki similarity index 100% rename from src/kitaab-public/raw/nixpkgs.wiki rename to src/raw/nixpkgs.wiki diff --git a/src/kitaab-public/raw/notes..wiki b/src/raw/notes..wiki similarity index 100% rename from src/kitaab-public/raw/notes..wiki rename to src/raw/notes..wiki diff --git a/src/kitaab-public/raw/now.wiki b/src/raw/now.wiki similarity index 100% rename from src/kitaab-public/raw/now.wiki rename to src/raw/now.wiki diff --git a/src/kitaab-public/raw/ops.wiki b/src/raw/ops.wiki similarity index 100% rename from src/kitaab-public/raw/ops.wiki rename to src/raw/ops.wiki diff --git a/src/kitaab-public/raw/overthewire.wiki b/src/raw/overthewire.wiki similarity index 100% rename from src/kitaab-public/raw/overthewire.wiki rename to src/raw/overthewire.wiki diff --git a/src/kitaab-public/raw/pasta.wiki b/src/raw/pasta.wiki similarity index 100% rename from src/kitaab-public/raw/pasta.wiki rename to src/raw/pasta.wiki diff --git a/src/kitaab-public/raw/pebble.wiki b/src/raw/pebble.wiki similarity index 100% rename from src/kitaab-public/raw/pebble.wiki rename to src/raw/pebble.wiki diff --git a/src/kitaab-public/raw/pentagon.wiki b/src/raw/pentagon.wiki similarity index 100% rename from src/kitaab-public/raw/pentagon.wiki rename to src/raw/pentagon.wiki diff --git a/src/kitaab-public/raw/pipeline.wiki b/src/raw/pipeline.wiki similarity index 100% rename from src/kitaab-public/raw/pipeline.wiki rename to src/raw/pipeline.wiki diff --git a/src/kitaab-public/raw/processisng.wiki b/src/raw/processisng.wiki similarity index 100% rename from src/kitaab-public/raw/processisng.wiki rename to src/raw/processisng.wiki diff --git a/src/kitaab-public/raw/psql.wiki b/src/raw/psql.wiki similarity index 100% rename from src/kitaab-public/raw/psql.wiki rename to src/raw/psql.wiki diff --git a/src/kitaab-public/raw/purchases.sync-conflict-20201012-130834-LX5ZRTJ.wiki b/src/raw/purchases.sync-conflict-20201012-130834-LX5ZRTJ.wiki similarity index 100% rename from src/kitaab-public/raw/purchases.sync-conflict-20201012-130834-LX5ZRTJ.wiki rename to src/raw/purchases.sync-conflict-20201012-130834-LX5ZRTJ.wiki diff --git a/src/kitaab-public/raw/purchases.wiki b/src/raw/purchases.wiki similarity index 100% rename from src/kitaab-public/raw/purchases.wiki rename to src/raw/purchases.wiki diff --git a/src/kitaab-public/raw/python-ransomware.wiki b/src/raw/python-ransomware.wiki similarity index 100% rename from src/kitaab-public/raw/python-ransomware.wiki rename to src/raw/python-ransomware.wiki diff --git a/src/kitaab-public/raw/python.wiki b/src/raw/python.wiki similarity index 100% rename from src/kitaab-public/raw/python.wiki rename to src/raw/python.wiki diff --git a/src/kitaab-public/raw/quotes.wiki b/src/raw/quotes.wiki similarity index 100% rename from src/kitaab-public/raw/quotes.wiki rename to src/raw/quotes.wiki diff --git a/src/kitaab-public/raw/rectangle.wiki b/src/raw/rectangle.wiki similarity index 100% rename from src/kitaab-public/raw/rectangle.wiki rename to src/raw/rectangle.wiki diff --git a/src/kitaab-public/raw/reflection.wiki b/src/raw/reflection.wiki similarity index 100% rename from src/kitaab-public/raw/reflection.wiki rename to src/raw/reflection.wiki diff --git a/src/kitaab-public/raw/riya.wiki b/src/raw/riya.wiki similarity index 100% rename from src/kitaab-public/raw/riya.wiki rename to src/raw/riya.wiki diff --git a/src/kitaab-public/raw/rss2elastic.wiki b/src/raw/rss2elastic.wiki similarity index 100% rename from src/kitaab-public/raw/rss2elastic.wiki rename to src/raw/rss2elastic.wiki diff --git a/src/kitaab-public/raw/sale.wiki b/src/raw/sale.wiki similarity index 100% rename from src/kitaab-public/raw/sale.wiki rename to src/raw/sale.wiki diff --git a/src/kitaab-public/raw/sealight.xyz.wiki b/src/raw/sealight.xyz.wiki similarity index 100% rename from src/kitaab-public/raw/sealight.xyz.wiki rename to src/raw/sealight.xyz.wiki diff --git a/src/kitaab-public/raw/see.wiki b/src/raw/see.wiki similarity index 100% rename from src/kitaab-public/raw/see.wiki rename to src/raw/see.wiki diff --git a/src/kitaab-public/raw/shaders.wiki b/src/raw/shaders.wiki similarity index 100% rename from src/kitaab-public/raw/shaders.wiki rename to src/raw/shaders.wiki diff --git a/src/kitaab-public/raw/sketch-build.wiki b/src/raw/sketch-build.wiki similarity index 100% rename from src/kitaab-public/raw/sketch-build.wiki rename to src/raw/sketch-build.wiki diff --git a/src/kitaab-public/raw/smashstock2019.wiki b/src/raw/smashstock2019.wiki similarity index 100% rename from src/kitaab-public/raw/smashstock2019.wiki rename to src/raw/smashstock2019.wiki diff --git a/src/kitaab-public/raw/sphere.wiki b/src/raw/sphere.wiki similarity index 100% rename from src/kitaab-public/raw/sphere.wiki rename to src/raw/sphere.wiki diff --git a/src/kitaab-public/raw/strategy.wiki b/src/raw/strategy.wiki similarity index 100% rename from src/kitaab-public/raw/strategy.wiki rename to src/raw/strategy.wiki diff --git a/src/kitaab-public/raw/sydney-april-2019.wiki b/src/raw/sydney-april-2019.wiki similarity index 100% rename from src/kitaab-public/raw/sydney-april-2019.wiki rename to src/raw/sydney-april-2019.wiki diff --git a/src/kitaab-public/raw/sydney2021.wiki b/src/raw/sydney2021.wiki similarity index 100% rename from src/kitaab-public/raw/sydney2021.wiki rename to src/raw/sydney2021.wiki diff --git a/src/kitaab-public/raw/synths.wiki b/src/raw/synths.wiki similarity index 100% rename from src/kitaab-public/raw/synths.wiki rename to src/raw/synths.wiki diff --git a/src/kitaab-public/raw/td-reporting.wiki b/src/raw/td-reporting.wiki similarity index 100% rename from src/kitaab-public/raw/td-reporting.wiki rename to src/raw/td-reporting.wiki diff --git a/src/kitaab-public/raw/tidalcycles.wiki b/src/raw/tidalcycles.wiki similarity index 100% rename from src/kitaab-public/raw/tidalcycles.wiki rename to src/raw/tidalcycles.wiki diff --git a/src/kitaab-public/raw/tinder.wiki b/src/raw/tinder.wiki similarity index 100% rename from src/kitaab-public/raw/tinder.wiki rename to src/raw/tinder.wiki diff --git a/src/kitaab-public/raw/travel.wiki b/src/raw/travel.wiki similarity index 100% rename from src/kitaab-public/raw/travel.wiki rename to src/raw/travel.wiki diff --git a/src/kitaab-public/raw/vim-tidal.wiki b/src/raw/vim-tidal.wiki similarity index 100% rename from src/kitaab-public/raw/vim-tidal.wiki rename to src/raw/vim-tidal.wiki diff --git a/src/kitaab-public/raw/vim-zettel.wiki b/src/raw/vim-zettel.wiki similarity index 100% rename from src/kitaab-public/raw/vim-zettel.wiki rename to src/raw/vim-zettel.wiki diff --git a/src/kitaab-public/raw/vim2nix.wiki b/src/raw/vim2nix.wiki similarity index 100% rename from src/kitaab-public/raw/vim2nix.wiki rename to src/raw/vim2nix.wiki diff --git a/src/kitaab-public/raw/wallabag.wiki b/src/raw/wallabag.wiki similarity index 100% rename from src/kitaab-public/raw/wallabag.wiki rename to src/raw/wallabag.wiki diff --git a/src/kitaab-public/raw/way.wiki b/src/raw/way.wiki similarity index 100% rename from src/kitaab-public/raw/way.wiki rename to src/raw/way.wiki diff --git a/src/kitaab-public/raw/web-devel.wiki b/src/raw/web-devel.wiki similarity index 100% rename from src/kitaab-public/raw/web-devel.wiki rename to src/raw/web-devel.wiki diff --git a/src/kitaab-public/raw/webAppHacking.wiki b/src/raw/webAppHacking.wiki similarity index 100% rename from src/kitaab-public/raw/webAppHacking.wiki rename to src/raw/webAppHacking.wiki diff --git a/src/kitaab-public/raw/webdev.wiki b/src/raw/webdev.wiki similarity index 100% rename from src/kitaab-public/raw/webdev.wiki rename to src/raw/webdev.wiki diff --git a/src/kitaab-public/raw/webnotes.wiki b/src/raw/webnotes.wiki similarity index 100% rename from src/kitaab-public/raw/webnotes.wiki rename to src/raw/webnotes.wiki diff --git a/src/kitaab-public/raw/webquotes.wiki b/src/raw/webquotes.wiki similarity index 100% rename from src/kitaab-public/raw/webquotes.wiki rename to src/raw/webquotes.wiki diff --git a/src/kitaab-public/raw/week1.wiki b/src/raw/week1.wiki similarity index 100% rename from src/kitaab-public/raw/week1.wiki rename to src/raw/week1.wiki diff --git a/src/kitaab-public/raw/weights.wiki b/src/raw/weights.wiki similarity index 100% rename from src/kitaab-public/raw/weights.wiki rename to src/raw/weights.wiki diff --git a/src/kitaab-public/raw/work.wiki b/src/raw/work.wiki similarity index 100% rename from src/kitaab-public/raw/work.wiki rename to src/raw/work.wiki diff --git a/src/kitaab-public/raw/writing.wiki b/src/raw/writing.wiki similarity index 100% rename from src/kitaab-public/raw/writing.wiki rename to src/raw/writing.wiki diff --git a/src/kitaab-public/readme.md b/src/readme.md similarity index 100% rename from src/kitaab-public/readme.md rename to src/readme.md diff --git a/src/setup.py b/src/setup.py index f2b75eb..418f8d8 100644 --- a/src/setup.py +++ b/src/setup.py @@ -3,8 +3,9 @@ from setuptools import setup setup( name='basant', version='0.1', + author='Anish Lakhwara', # TODO: broken because of import stuff, need to refactor app somehow - # py_modules=['main', 'shared', 'grab', 'build'], + py_modules=['shared', 'grab', 'build'], entry_points={ # module named build from which we call build in order to build 'console_scripts': ['build = build:build'] diff --git a/src/kitaab-public/shared/TagHelper.py b/src/shared/TagHelper.py similarity index 87% rename from src/kitaab-public/shared/TagHelper.py rename to src/shared/TagHelper.py index 31ebb22..5280d17 100644 --- a/src/kitaab-public/shared/TagHelper.py +++ b/src/shared/TagHelper.py @@ -2,10 +2,31 @@ from ctags import CTags, TagEntry import sys from icecream import ic from os import listdir, path -from shared.censor.py import privateList +from shared.censor import privateList # TODO don't hardcode the path +censor = privateList + + +def getAllFiles(): + files = [f for f in listdir( + '/home/anish/vimwiki') if '.wiki' in f and path.isfile('/home/anish/vimwiki/' + f)] + files = set(files) + return files + + +def untaggedFiles(AllFileList=getAllFiles()): + toFilter = filter + censor + tagList = getAllTags() + doNotTakeFiles = set() + for mask in toFilter: + try: + doNotTakeFiles.update(tagList[mask]) + except KeyError: + print("Key not found: {}".format(mask)) + return set.difference(AllFileList, doNotTakeFiles) + def loadTagFile(path='/home/anish/vimwiki/.vimwiki_tags'): # Available file information keys: @@ -67,13 +88,6 @@ def getAllFilesWithTags(): return makeSetFromTags(loadTagFile()) -def getAllFiles(): - files = [f for f in listdir( - '/home/anish/vimwiki') if '.wiki' in f and path.isfile('/home/anish/vimwiki/' + f)] - files = set(files) - return files - - def getUntaggedFiles(): allFiles = getAllFiles() allTags = getAllFilesWithTags() diff --git a/src/kitaab-public/grab/__init__.py b/src/shared/__init__.py similarity index 100% rename from src/kitaab-public/grab/__init__.py rename to src/shared/__init__.py diff --git a/src/shared/config.py b/src/shared/config.py new file mode 100644 index 0000000..58594a0 --- /dev/null +++ b/src/shared/config.py @@ -0,0 +1,25 @@ +content_folder = ['raw'] +nav_tags = ['dev', 'way', 'recipe', 'ops', 'blog', + 'rock', 'phil', 'story', 'blog', 'untagged'] +relative_build_url = "" +absolute_build_url = "https://anish.lakhwara.com/" +files_folder = '' # TODO +build_folder = "output/" +assets_folder = "asset/" +medias_folder = "media/" +raw_folder = "raw/" +template_main = "build/partial/main.html" +template_nav = "build/partial/nav.html" +template_index = "build/partial/index_table.html" +template_list = "build/partial/list.html" +rss_template = "build/partial/rss.xml" +rss_item_template = "build/partial/item.xml" +name_of_site = "Kitaab" +site_meta_description = "" +twitter_name = "@aynish@merveilles.town" +home_name = "Home" +see_all = "See more" +go_back = "Go back to" +date_format = "EU" # Choose between EU day-month-year or ISO year-mont-day +# True or False, if True, all files will be written in the root of the website +flat_build = True diff --git a/src/shared/helpers.py b/src/shared/helpers.py new file mode 100644 index 0000000..6060b23 --- /dev/null +++ b/src/shared/helpers.py @@ -0,0 +1,13 @@ +import random + + +def generateBlocks(size=1): + # Generates a length size unicode string that is formed from blocks + charList = ['▐', '░', '▒', '▓', '▔', '▕', '▖▗', + '▘▙', '▚', '▛', '▜', '▝', '▞', '▟'] + ret = "" + while size > 0: + size = size - 1 + rand = random.randint(0, 13) + ret = ret + charList[rand] + return ret diff --git a/src/kitaab-public/grab/tag-fixer.py b/src/shared/tag-fixer.py similarity index 92% rename from src/kitaab-public/grab/tag-fixer.py rename to src/shared/tag-fixer.py index 21d985d..5e5a415 100644 --- a/src/kitaab-public/grab/tag-fixer.py +++ b/src/shared/tag-fixer.py @@ -1,19 +1,18 @@ -#! /usr/bin/env python3 +#! /usr/bin/env python3 import ctags from ctags import CTags, TagEntry import sys from icecream import ic -import os import shutil -import fileinput - + + def loadTagFile(path='.vimwiki_tags'): # Available file information keys: # opened - was the tag file successfully opened? # error_number - errno value when 'opened' is false # format - format of tag file (1 = original, 2 = extended) - # sort - how is the tag file sorted? + # sort - how is the tag file sorted? # author - name of author of generating program (may be empy string) # name - name of program (may be empy string) # url - URL of distribution (may be empy string) @@ -25,6 +24,7 @@ def loadTagFile(path='.vimwiki_tags'): print("No tagfile at {}".farmat(path)) sys.exit(1) + def loopThrough(tagFile): # Available TagEntry keys: # name - name of tag @@ -33,11 +33,11 @@ def loopThrough(tagFile): # lineNumber - line number in source file of tag definition (may be zero if not known) # kind - kind of tag (none if not known) # fileScope - is tag of file-limited scope? - - # Note: other keys will be assumed as an extension key and will - # return None if no such key is found + + # Note: other keys will be assumed as an extension key and will + # return None if no such key is found ''' Entries that are less than 1 character in length are errors - Returns a set containing of all the files with errors in their tags''' + Returns a set containing of all the files with errors in their tags''' entry = TagEntry() tag = tagFile.next(entry) tagErrors = set() @@ -52,6 +52,7 @@ def loopThrough(tagFile): ic(errorTagNames) return tagErrors + def fixErrors(errors): ''' Replaces :: with :, which seems to be the error for many of the tags ''' fileBase = '/home/anish/vimwiki/' @@ -70,6 +71,7 @@ def fixErrors(errors): print() print(newFile) + def printErrors(errors): fileBase = '/home/anish/vimwiki/' for v in errors: @@ -79,9 +81,11 @@ def printErrors(errors): f.readline() ic(f.readline()) + def getFileName(f): return str(f, encoding="utf-8") + def getBackupFiles(errors): fileBase = '/home/anish/vimwiki/' backupBase = '/home/anish/vimwiki/jrnl/' @@ -91,10 +95,11 @@ def getBackupFiles(errors): print("Moving {} from backup".format(f)) shutil.copy(backupBase + f, fileBase + f) -if __name__=='__main__': + +if __name__ == '__main__': tagFile = loadTagFile() errors = loopThrough(tagFile) printErrors(errors) - #ic(errors) - #getBackupFiles(errors) - #fixErrors(errors) + # ic(errors) + # getBackupFiles(errors) + # fixErrors(errors)