diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 487598e..0000000 --- a/.eslintignore +++ /dev/null @@ -1,5 +0,0 @@ -*.* -!*.js -!*.ts -!*.vue -node_modules \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 57ddc11..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,26 +0,0 @@ -module.exports = { - env: { - browser: true, - es6: true, - node: true - }, - extends: [ - 'plugin:vue/essential', - 'standard' - ], - globals: { - Atomics: 'readonly', - SharedArrayBuffer: 'readonly' - }, - parserOptions: { - ecmaVersion: 2018, - parser: '@typescript-eslint/parser', - sourceType: 'module' - }, - plugins: [ - 'vue', - '@typescript-eslint' - ], - rules: { - } -} diff --git a/.gitignore b/.gitignore index b512c09..344e452 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,34 @@ -node_modules \ No newline at end of file + +# Created by https://www.toptal.com/developers/gitignore/api/macos +# Edit at https://www.toptal.com/developers/gitignore?templates=macos + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# End of https://www.toptal.com/developers/gitignore/api/macos + diff --git a/data/.markdownlint.json b/.markdownlint.json similarity index 100% rename from data/.markdownlint.json rename to .markdownlint.json diff --git a/data/config.json b/config.json similarity index 100% rename from data/config.json rename to config.json diff --git a/data/posts/blog/2019/08/千字文.md b/data/posts/blog/2019/08/千字文.md deleted file mode 100644 index 97c47f9..0000000 --- a/data/posts/blog/2019/08/千字文.md +++ /dev/null @@ -1,149 +0,0 @@ ---- -title: "千字文" -date: "2019-08-10" -tag: - - 千字文 - - 汉字 - - essay ---- - -1 -天地玄黃,宇宙洪荒。 -日月盈昃,辰宿列張。 -寒來暑往,秋收冬藏。 -閏餘成歲,律呂調陽。 -雲騰致雨,露結為霜。 -金生麗水,玉出崑岡。 -劍號巨闕,珠稱夜光。 -果珍李柰,菜重芥薑。 -海咸河淡,鱗潛羽翔。 - -2 -龍師火帝,鳥官人皇。 -始制文字,乃服衣裳。 -推位讓國,有虞陶唐。 -弔民伐罪,周發殷湯。 -坐朝問道,垂拱平章。 -愛育黎首,臣伏戎羌。 -遐邇一體,率賓歸王。 -鳴鳳在竹,白駒食場。 -化被草木,賴及萬方。 - - - -3 -蓋此身髮,四大五常。 -恭惟鞠養,豈敢毀傷。 -女慕貞絜,男效才良。 -知過必改,得能莫忘。 -罔談彼短,靡恃己長。 -信使可覆,器欲難量。 -墨悲絲染,詩讚羔羊。 -景行維賢,克念作聖。 -德建名立,形端表正。 -空谷傳聲,虛堂習聽。 -禍因惡積,福緣善慶。 -尺璧非寶,寸陰是競。 -資父事君,曰嚴與敬。 -孝當竭力,忠則盡命。 -臨深履薄,夙興溫凊。 -似蘭斯馨,如松之盛。 -川流不息,淵澄取映。 -容止若思,言辭安定。 -篤初誠美,慎終宜令。 -榮業所基,藉甚無竟。 -學優登仕,攝職從政。 -存以甘棠,去而益詠。 -樂殊貴賤,禮別尊卑。 -上和下睦,夫唱婦隨。 -外受傅訓,入奉母儀。 -諸姑伯叔,猶子比兒。 -孔懷兄弟,同氣連根。 -交友投分,切磨箴規。 -仁慈隱惻,造次弗離。 -節義廉退,顛沛匪虧。 -性靜情逸,心動神疲。 -守真志滿,逐物意移。 -堅持雅操,好爵自縻。 - -4 -都邑華夏,東西二京。 -背邙面洛,浮渭據涇。 -宮殿盤郁,樓觀飛驚。 -圖寫禽獸,畫彩仙靈。 -丙舍傍啟,甲帳對楹。 -肆筵設席,鼓瑟吹笙。 -升階納陛,弁轉疑星。 -右通廣內,左達承明。 -既集墳典,亦聚群英。 -杜稿鍾隸,漆書壁經。 -府羅將相,路俠槐卿。 -戶封八縣,家給千兵。 -高冠陪輦,驅轂振纓。 -世祿侈富,車駕肥輕。 -策功茂實,勒碑刻銘。 -磻溪伊尹,佐時阿衡。 -奄宅曲阜,微旦孰營。 -桓公匡合,濟弱扶傾。 -綺回漢惠,說感武丁。 -俊乂密勿,多士寔寧。 -晉楚更霸,趙魏困橫。 -假途滅虢,踐土會盟。 -何遵約法,韓弊煩刑。 -起翦頗牧,用軍最精。 -宣威沙漠,馳譽丹青。 -九州禹跡,百郡秦并。 -岳宗泰岱,禪主云亭。 -雁門紫塞,雞田赤城。 -昆池碣石,鉅野洞庭。 -曠遠綿邈,岩岫杳冥。 - -5 -治本於農,務茲稼穡。 -俶載南畝,我藝黍稷。 -稅熟貢新,勸賞黜陟。 -孟軻敦素,史魚秉直。 -庶幾中庸,勞謙謹敕。 -聆音察理,鑒貌辨色。 -貽厥嘉猷,勉其祗植。 -省躬譏誡,寵增抗極。 -殆辱近恥,林皋幸即。 -兩疏見機,解組誰逼。 -索居閒處,沉默寂寥。 -求古尋論,散慮逍遙。 -欣奏累遣,慼謝歡招。 -渠荷的歷,園莽抽條。 -枇杷晚翠,梧桐蚤凋。 -陳根委翳,落葉飄搖。 -游鵾獨運,凌摩絳霄。 - -6 -耽讀玩市,寓目囊箱。 -易輶攸畏,屬耳垣牆。 -具膳餐飯,適口充腸。 -飽飫烹宰,飢厭糟糠。 -親戚故舊,老少異糧。 -妾御績紡,待巾帷房。 -紈扇圓潔,銀燭煒煌。 -晝眠夕寐,藍筍象床。 -弦歌酒宴,接杯舉觴。 -矯手頓足,悅豫且康。 -嫡後嗣續,祭祀烝嘗。 -稽顙再拜,悚懼恐惶。 -箋牒簡要,顧答審詳。 -骸垢想浴,執熱願涼。 -驢騾犢特,駭躍超驤。 -誅斬賊盜,捕獲叛亡。 - -7 -布射僚丸,嵇琴阮嘯。 -恬筆倫紙,鈞巧任釣。 -釋紛利俗,竝皆佳妙。 -毛施淑姿,工顰妍笑。 -年矢每催,曦暉朗曜。 -璿璣懸斡,晦魄環照。 -指薪修祜,永綏吉劭。 -矩步引領,俯仰廊廟。 -束帶矜庄,徘徊瞻眺。 -孤陋寡聞,愚蒙等誚。 -謂語助者,焉哉乎也。 diff --git a/data/posts/blog/2019/11/emoji1.md b/data/posts/blog/2019/11/emoji1.md deleted file mode 100644 index d3e8e8c..0000000 --- a/data/posts/blog/2019/11/emoji1.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: "Chinese from Emoji 1: 学习用品" -date: 2019-11-26 -image: https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQpaKJKlp3UhF_S-Q5sPWmLnKhwb8Ey0sqA7ersas1OJcAgZFzB -tag: - - vocab - - emoji - - quiz ---- - -Try listening to these vocabs. - -✂️🎒✏️📎☄️🖊🖋🖍 - - - -✂️ - -
- - ![Scissors](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQf9uthRjSCBLUdXAk5PWXQtSYMfDy1nAXi0MhUQ3b6mpuE9dsa) - - 剪刀 ✂️ jian3 dao1 - -
- -🎒 - -
- - ![Backpack](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSOg4oFnt_XOu-pv7ifeylTOmeXx3hp1HuTFjJrjdU6yXD_L2iT) - - 书包 🎒 shu1 bao1 - -
- -✏️ - -
- - ![Pencil](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSeqRVWLP5izO4nSbY3wZdv0OhKLYGfLO7H2O5nLze-exV2I-JS) - - 铅笔 ✏️ qian1 bi3 - -
- -📎 - -
- - ![Paper clip](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcR3gTlL-qNz806EZhxPoUBgaStj76t001FWfaveOzOm3XeG4H3L) - - 回形针 📎 hui2 xing2 zhen1 - -
- -☄️ - -
- - ![Shooting star](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSTWldBLoIHxPTX8CWrohliKP0XC5pvcHBMTBOuO1WtDwWiLKkJ) - - 彗星 ☄️ hui4 xing1 - -
- -🖊 - -
- - ![Ball pen](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRbBTS8Vo0niJ-RFbnsziApFkMsFhrRUSW4eFVQBVWBadFv0Vza) - - 圆珠笔 🖊 yuan2 zhu1 bi3 - -
- -🖋 - -
- - ![Fountain pen](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSOlTjB-VNBuE_gXJmmZO1D4NqF7UFfYkmALF4qU13wsLsyZ2QR) - - 钢笔 🖋 gang1 bi3 - -
- -🖍 - -
- - ![Crayon](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSxSSPteWMVd_5D0gq6qcPWQP3NP7zj0wLKF36rS87WjRQRRDSE) - - 蜡笔 🖍 la4 bi3 - -
diff --git a/data/posts/blog/2019/11/emoji2.md b/data/posts/blog/2019/11/emoji2.md deleted file mode 100644 index c10dce7..0000000 --- a/data/posts/blog/2019/11/emoji2.md +++ /dev/null @@ -1,317 +0,0 @@ ---- -title: "Chinese from Emoji 2: 陆地动物" -date: 2019-11-27 -image: https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQpaKJKlp3UhF_S-Q5sPWmLnKhwb8Ey0sqA7ersas1OJcAgZFzB -tag: - - vocab - - emoji - - quiz ---- - -Try listening to these vocabs. - -🐇🐿🦌🐑🐔🦃🐃🦇🦘🐘🐐🐎🦓🦔🐱🦒 - -🦏🐒🐂🦁🐅🐆🐭🦊🐺🐻🐼🐖🐷🐗🦛 - - - -🐇 - -
- - ![Rabbit](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTgZKETKZReclztnr36eg9hkCmk44_dxt_EqYC8gmztCr9GSJfX) - - 兔子 - -
- -🐿 - -
- - ![Squirrel](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcShluTpNrtAejxR6NYhfBqht_G267WQrGquhCSLI4IMpRgtj9wn) - - 松鼠 - -
- -🦌 - -
- - ![Dear](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQu_HYQcGWWlj5sS_BAMGv_o8sfIXRMK7RkJC5LGi6nZNv8MjVE) - - 鹿 - -
- -🐑 - -
- - ![Sheep](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQQnXst55ZhokBJVwHm1G9V6VCoOCfLF00IpVFEkuvANf0jRWcS) - - 羊 - -
- -🐔 - -
- - ![Chicken](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQIQAJUvcKUbDVr0SRrbpgyd40UPBxulx8CFfPQ_xW1x45MvFI8) - - 鸡 - -
- -🦃 - -
- - ![Turkey](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQPVfoez-UNLKH0lMy7IeZwkZjw9L4e5rXdRaiMSVVyDxl1ZlaX) - - 火鸡 - -
- -🐃 - -
- - ![Buffalo](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSJ7UiOM8Vb4T5P6rWwB9MeYp-EPdOYzjFdTOZUEPaHE12kSxa3) - - 水牛 - -
- -🦇 - -
- - ![Bat](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRAO2I0WYHlTtu83tBnRePDTkQaYfckAKvp0HbQ7cBtE96znb9I) - - 蝙蝠 - -
- -🦘 - -
- - ![Kangaroo](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRK6TALcxKbqbYMM4CFzUiQ8BWINhJlqSta8YzpdzL_P5pB2am3) - - 袋鼠 - -
- -🐘 - -
- - ![Elephant](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQFFZlzsqqSRxshSH2NNfunJ54cRUjwRGRUIUNxyGk1Yx6_I7IX) - - 象 - -
- -🐐 - -
- - ![Goat](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTwjBRu7ckuHFa29OI6HW_EYrS_nhF1xyJtWtLq_EIgCdOtARds) - - 山羊 - -
- -🐎 - -
- - ![Horse](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcThaRUqPBUstqBofBZ_Ob7_elvM5tXJNkWBzFMGdSTyV12cPhGM) - - 马 - -
- -🦓 - -
- - ![Zebra](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQT5b7zaj4Z7B7V3dZ5lGrizvghIILbUsvYyxM_hda4wqAkjYsz) - - 斑马 - -
- -🦔 - -
- - ![Porcupine](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRCa0wRYh7ojUwEPaNF2kO7AV48DIaNZog2ve5tdMa2VRfEAQ59) - - 刺猬 - -
- -🐱 - -
- - ![Cat](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTH6HxArpzIWYQS0fcDadxydvn_PDoLc-LXyM2JKevuxYkZIJmP) - - 猫 - -
- -🦒 - -
- - ![Giraffe](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTmNU2_Fxud_jtTGv1dTagn1y_EiKVAXYLE4r1oCnCC_gro7kJG) - - 长颈鹿 - -
- -🦏 - -
- - ![Rhinoceros](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRXJC-RjvLoCa6XLaMO_ECsgwIHHmcsDfQ2ZDQyj0xqcsiR7jeK) - - 犀牛 - -
- -🐒 - -
- - ![Monkey](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTfWUPBNsNz4bqM6fzXSHa4RiB3vZPQMSIuyQPR9gzuwSSA87p_) - - 猴子 - -
- -🐂 - -
- - ![Cow](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRgFMVM5-iSb6YIygRLmw1Vf0JT-NGuUfMMRFB7lnRaSlX4NGH-) - - 牛 - -
- -🦁 - -
- - ![Lion](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRSNEDrptbNevVztyPoBYHe9JGwlQkGbywo9TNyzO-w0iqCAiNu) - - 狮子 - -
- -🐅 - -
- - ![Tiger](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRpyopIPkZ_V2oe-812Hn4LOjyUUoDI--6EYoNmn2uhOcfzH-ir) - - 老虎 - -
- -🐆 - -
- - ![Leopard](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcStdPdWDF3r-2qUGsOJNPHbEKU8ePX3ZOi-ZC433DaSrcSHNrHX) - - 豹 - -
- -🐭 - -
- - ![Rat](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQsaBhrdV0XTlRUClE0yFD8oIh2nNskD5_dqYsW7Gz-7g0aNzVG) - - 鼠 - -
- -🦊 - -
- - ![Fox](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcT--eJ4F1WQlPQKXO3fAhadFOur0E34Xmcts2Jnd7CKGiFQFKud) - - 狐狸 - -
- -🐺 - -
- - ![Wolf](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSgbZu2ZhFI-eA36iUtq9F7-MXlxr2J7KoaeNCWIIXkiPlT2j2B) - - 狼 - -
- -🐻 - -
- - ![Bear](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcT9n8v18VEh0az3_gO5_ze5juWRnhpWn011W5hIA0pJeIvHWOKs) - - 熊 🐻 (● ̄(エ) ̄●) - -
- -🐼 - -
- - ![Panda](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTIYWdfN3O4BldibRn3Gba7SYNOkc1Jm8o7i1lSBS2JzKVjGwUI) - - 熊猫 - -
- -🐷 - -
- - ![Pig](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQEdwTapN_-twxh0F0ED31GIwOGpl58GAX7kdTr7-gnK_LwgCoS) - - 猪 🐖 🐷 ^(\* ̄(oo) ̄)^ - -
- -🐗 - -
- - ![Hog](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQciGnncA1KUjyCt7lwfgWBKMEgDvU2yLhBiY5Xh1CG0VDTjbtp) - - 野猪 - -
- -🦛 - -
- - ![Hippotamus](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQ_QP6_Dx9eb_U6V3nH3cF44sv2bd5oJqWEgWhO6vR0mvGscdZw) - - 河马 - -
diff --git a/data/favicon.ico b/media/favicon.ico similarity index 100% rename from data/favicon.ico rename to media/favicon.ico diff --git a/package.json b/package.json deleted file mode 100644 index 916a833..0000000 --- a/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "zhdiary", - "version": "1.0.0", - "private": true, - "repository": "https://github.com/patarapolw/zhdiary.git", - "author": "Pacharapol Withayasakpunt (https://polvcode.dev)", - "license": "MIT", - "devDependencies": { - "@typescript-eslint/eslint-plugin": "^2.21.0", - "@typescript-eslint/parser": "^2.21.0", - "eslint": ">=6.2.2", - "eslint-config-standard": "^14.1.0", - "eslint-plugin-import": ">=2.18.0", - "eslint-plugin-node": ">=9.1.0", - "eslint-plugin-promise": ">=4.2.1", - "eslint-plugin-standard": ">=4.0.0", - "eslint-plugin-vue": "^6.2.1", - "typescript": "^3.8.2" - } -} diff --git a/post/2019/08/千字文.md b/post/2019/08/千字文.md new file mode 100644 index 0000000..07ab9b4 --- /dev/null +++ b/post/2019/08/千字文.md @@ -0,0 +1,156 @@ +--- +title: "千字文" +date: "2019-08-10" +tag: + - 千字文 + - 汉字 + - essay +--- + +1 + +- [天地玄黃,宇宙洪荒。](/posts/千字文/千字文1.1) +- [日月盈昃,辰宿列張。](/posts/千字文/千字文1.2) +- [寒來暑往,秋收冬藏。](/posts/千字文/千字文1.3) +- [閏餘成歲,律呂調陽。](/posts/千字文/千字文1.4) +- [雲騰致雨,露結為霜。](/posts/千字文/千字文1.5) +- [金生麗水,玉出崑岡。](/posts/千字文/千字文1.6) +- [劍號巨闕,珠稱夜光。](/posts/千字文/千字文1.7) +- [果珍李柰,菜重芥薑。](/posts/千字文/千字文1.8) +- [海咸河淡,鱗潛羽翔。](/posts/千字文/千字文1.9) + +2 + +- [龍師火帝,鳥官人皇。](/posts/千字文/千字文2.1) +- [始制文字,乃服衣裳。](/posts/千字文/千字文2.2) +- [推位讓國,有虞陶唐。](/posts/千字文/千字文2.3) +- [弔民伐罪,周發殷湯。](/posts/千字文/千字文2.4) +- [坐朝問道,垂拱平章。](/posts/千字文/千字文2.5) +- [愛育黎首,臣伏戎羌。](/posts/千字文/千字文2.6) +- [遐邇一體,率賓歸王。](/posts/千字文/千字文2.7) +- [鳴鳳在竹,白駒食場。](/posts/千字文/千字文2.8) +- [化被草木,賴及萬方。](/posts/千字文/千字文2.9) + + + +3 + +- [蓋此身髮,四大五常。](/posts/千字文/千字文3.1) +- [恭惟鞠養,豈敢毀傷。](/posts/千字文/千字文3.2) +- [女慕貞絜,男效才良。](/posts/千字文/千字文3.3) +- 知過必改,得能莫忘。 +- 罔談彼短,靡恃己長。 +- 信使可覆,器欲難量。 +- 墨悲絲染,詩讚羔羊。 +- 景行維賢,克念作聖。 +- 德建名立,形端表正。 +- 空谷傳聲,虛堂習聽。 +- 禍因惡積,福緣善慶。 +- 尺璧非寶,寸陰是競。 +- 資父事君,曰嚴與敬。 +- 孝當竭力,忠則盡命。 +- 臨深履薄,夙興溫凊。 +- 似蘭斯馨,如松之盛。 +- 川流不息,淵澄取映。 +- 容止若思,言辭安定。 +- 篤初誠美,慎終宜令。 +- 榮業所基,藉甚無竟。 +- 學優登仕,攝職從政。 +- 存以甘棠,去而益詠。 +- 樂殊貴賤,禮別尊卑。 +- 上和下睦,夫唱婦隨。 +- 外受傅訓,入奉母儀。 +- 諸姑伯叔,猶子比兒。 +- 孔懷兄弟,同氣連根。 +- 交友投分,切磨箴規。 +- 仁慈隱惻,造次弗離。 +- 節義廉退,顛沛匪虧。 +- 性靜情逸,心動神疲。 +- 守真志滿,逐物意移。 +- 堅持雅操,好爵自縻。 + +4 + +- 都邑華夏,東西二京。 +- 背邙面洛,浮渭據涇。 +- 宮殿盤郁,樓觀飛驚。 +- 圖寫禽獸,畫彩仙靈。 +- 丙舍傍啟,甲帳對楹。 +- 肆筵設席,鼓瑟吹笙。 +- 升階納陛,弁轉疑星。 +- 右通廣內,左達承明。 +- 既集墳典,亦聚群英。 +- 杜稿鍾隸,漆書壁經。 +- 府羅將相,路俠槐卿。 +- 戶封八縣,家給千兵。 +- 高冠陪輦,驅轂振纓。 +- 世祿侈富,車駕肥輕。 +- 策功茂實,勒碑刻銘。 +- 磻溪伊尹,佐時阿衡。 +- 奄宅曲阜,微旦孰營。 +- 桓公匡合,濟弱扶傾。 +- 綺回漢惠,說感武丁。 +- 俊乂密勿,多士寔寧。 +- 晉楚更霸,趙魏困橫。 +- 假途滅虢,踐土會盟。 +- 何遵約法,韓弊煩刑。 +- 起翦頗牧,用軍最精。 +- 宣威沙漠,馳譽丹青。 +- 九州禹跡,百郡秦并。 +- 岳宗泰岱,禪主云亭。 +- 雁門紫塞,雞田赤城。 +- 昆池碣石,鉅野洞庭。 +- 曠遠綿邈,岩岫杳冥。 + +5 + +- 治本於農,務茲稼穡。 +- 俶載南畝,我藝黍稷。 +- 稅熟貢新,勸賞黜陟。 +- 孟軻敦素,史魚秉直。 +- 庶幾中庸,勞謙謹敕。 +- 聆音察理,鑒貌辨色。 +- 貽厥嘉猷,勉其祗植。 +- 省躬譏誡,寵增抗極。 +- 殆辱近恥,林皋幸即。 +- 兩疏見機,解組誰逼。 +- 索居閒處,沉默寂寥。 +- 求古尋論,散慮逍遙。 +- 欣奏累遣,慼謝歡招。 +- 渠荷的歷,園莽抽條。 +- 枇杷晚翠,梧桐蚤凋。 +- 陳根委翳,落葉飄搖。 +- 游鵾獨運,凌摩絳霄。 + +6 + +- 耽讀玩市,寓目囊箱。 +- 易輶攸畏,屬耳垣牆。 +- 具膳餐飯,適口充腸。 +- 飽飫烹宰,飢厭糟糠。 +- 親戚故舊,老少異糧。 +- 妾御績紡,待巾帷房。 +- 紈扇圓潔,銀燭煒煌。 +- 晝眠夕寐,藍筍象床。 +- 弦歌酒宴,接杯舉觴。 +- 矯手頓足,悅豫且康。 +- 嫡後嗣續,祭祀烝嘗。 +- 稽顙再拜,悚懼恐惶。 +- 箋牒簡要,顧答審詳。 +- 骸垢想浴,執熱願涼。 +- 驢騾犢特,駭躍超驤。 +- 誅斬賊盜,捕獲叛亡。 + +7 + +- 布射僚丸,嵇琴阮嘯。 +- 恬筆倫紙,鈞巧任釣。 +- 釋紛利俗,竝皆佳妙。 +- 毛施淑姿,工顰妍笑。 +- 年矢每催,曦暉朗曜。 +- 璿璣懸斡,晦魄環照。 +- 指薪修祜,永綏吉劭。 +- 矩步引領,俯仰廊廟。 +- 束帶矜庄,徘徊瞻眺。 +- 孤陋寡聞,愚蒙等誚。 +- 謂語助者,焉哉乎也。 diff --git a/data/posts/blog/2019/08/句子1.1.md b/post/2019/08/句子1.1.md similarity index 77% rename from data/posts/blog/2019/08/句子1.1.md rename to post/2019/08/句子1.1.md index ec9d4c1..16a49a6 100644 --- a/data/posts/blog/2019/08/句子1.1.md +++ b/post/2019/08/句子1.1.md @@ -8,6 +8,6 @@ tag: ### Sentence quiz -Please see /slides/old/句子1.1.md +Please see `/slides/old/句子1.1.md` Highlight text and press "x" inside the presentation to speak. diff --git a/data/posts/blog/2019/08/句子1.2.md b/post/2019/08/句子1.2.md similarity index 77% rename from data/posts/blog/2019/08/句子1.2.md rename to post/2019/08/句子1.2.md index 7e8a42b..3ae5f2d 100644 --- a/data/posts/blog/2019/08/句子1.2.md +++ b/post/2019/08/句子1.2.md @@ -8,6 +8,6 @@ tag: ### Sentence quiz -Please see /slides/old/句子1.2.md +Please see `/slides/old/句子1.2.md` Highlight text and press "x" inside the presentation to speak. diff --git a/data/posts/blog/2019/08/句子1.3.md b/post/2019/08/句子1.3.md similarity index 77% rename from data/posts/blog/2019/08/句子1.3.md rename to post/2019/08/句子1.3.md index d8693da..38a0656 100644 --- a/data/posts/blog/2019/08/句子1.3.md +++ b/post/2019/08/句子1.3.md @@ -8,6 +8,6 @@ tag: ### Sentence quiz -Please see /slides/old/句子1.3.md +Please see `/slides/old/句子1.3.md` Highlight text and press "x" inside the presentation to speak. diff --git a/data/posts/blog/2019/08/身体1.md b/post/2019/08/身体1.md similarity index 93% rename from data/posts/blog/2019/08/身体1.md rename to post/2019/08/身体1.md index 0123d94..68a9219 100644 --- a/data/posts/blog/2019/08/身体1.md +++ b/post/2019/08/身体1.md @@ -10,18 +10,20 @@ From ### Sentence quiz -Please see /slides/old/身体1.md +Please see `/slides/old/身体1.md` Highlight text and press "x" inside the presentation to speak. - + -```css parsed + + | | +--- | --- | --- 胳膊 | gēbo | arm 手膀 | shǒubǎng | arm 肚子 | dùzi | belly; abdomen; stomach diff --git a/data/posts/blog/2019/09/zhlab.md b/post/2019/09/zhlab.md similarity index 76% rename from data/posts/blog/2019/09/zhlab.md rename to post/2019/09/zhlab.md index 3af9adb..f14968a 100644 --- a/data/posts/blog/2019/09/zhlab.md +++ b/post/2019/09/zhlab.md @@ -5,6 +5,6 @@ tag: - diary --- -Apparently, yesterday, I made a Chinese learning resources, aggregated from various textbooks. I plan to make it mostly in JSON format (see /resources), for easy computerized parsing. I am a tech guy after all. +Apparently, yesterday, I made a Chinese learning resources, aggregated from various textbooks. I plan to make it mostly in JSON format (see `/resources`), for easy computerized parsing. I am a tech guy after all. I also move the contents from and to here. diff --git a/data/posts/blog/2019/09/蔬果.md b/post/2019/09/蔬果.md similarity index 72% rename from data/posts/blog/2019/09/蔬果.md rename to post/2019/09/蔬果.md index f4ad64f..29bd228 100644 --- a/data/posts/blog/2019/09/蔬果.md +++ b/post/2019/09/蔬果.md @@ -6,4 +6,4 @@ tag: - quiz --- -See /slides/vocab/chinese/2019-09-30-fruit.md +See `/slides/vocab/chinese/2019-09-30-fruit` diff --git a/data/posts/blog/2019/10/movement-notice.md b/post/2019/10/movement-notice.md similarity index 100% rename from data/posts/blog/2019/10/movement-notice.md rename to post/2019/10/movement-notice.md diff --git a/post/2019/11/emoji1.md b/post/2019/11/emoji1.md new file mode 100644 index 0000000..9aef2de --- /dev/null +++ b/post/2019/11/emoji1.md @@ -0,0 +1,95 @@ +--- +title: "Chinese from Emoji 1: 学习用品" +date: 2019-11-26 +image: https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQpaKJKlp3UhF_S-Q5sPWmLnKhwb8Ey0sqA7ersas1OJcAgZFzB +tag: + - vocab + - emoji + - quiz +--- + +Try listening to these vocabs. + +✂️🎒✏️📎☄️🖊🖋🖍 + + + +✂️ + +::: spoiler + +![Scissors](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQf9uthRjSCBLUdXAk5PWXQtSYMfDy1nAXi0MhUQ3b6mpuE9dsa) + +剪刀 ✂️ jian3 dao1 + +::: + +🎒 + +::: spoiler + +![Backpack](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSOg4oFnt_XOu-pv7ifeylTOmeXx3hp1HuTFjJrjdU6yXD_L2iT) + +书包 🎒 shu1 bao1 + +::: + +✏️ + +::: spoiler + +![Pencil](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSeqRVWLP5izO4nSbY3wZdv0OhKLYGfLO7H2O5nLze-exV2I-JS) + +铅笔 ✏️ qian1 bi3 + +::: + +📎 + +::: spoiler + +![Paper clip](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcR3gTlL-qNz806EZhxPoUBgaStj76t001FWfaveOzOm3XeG4H3L) + +回形针 📎 hui2 xing2 zhen1 + +::: + +☄️ + +::: spoiler + +![Shooting star](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSTWldBLoIHxPTX8CWrohliKP0XC5pvcHBMTBOuO1WtDwWiLKkJ) + +彗星 ☄️ hui4 xing1 + +::: + +🖊 + +::: spoiler + +![Ball pen](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRbBTS8Vo0niJ-RFbnsziApFkMsFhrRUSW4eFVQBVWBadFv0Vza) + +圆珠笔 🖊 yuan2 zhu1 bi3 + +::: + +🖋 + +::: spoiler + +![Fountain pen](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSOlTjB-VNBuE_gXJmmZO1D4NqF7UFfYkmALF4qU13wsLsyZ2QR) + +钢笔 🖋 gang1 bi3 + +::: + +🖍 + +::: spoiler + +![Crayon](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSxSSPteWMVd_5D0gq6qcPWQP3NP7zj0wLKF36rS87WjRQRRDSE) + +蜡笔 🖍 la4 bi3 + +::: diff --git a/post/2019/11/emoji2.md b/post/2019/11/emoji2.md new file mode 100644 index 0000000..39864fd --- /dev/null +++ b/post/2019/11/emoji2.md @@ -0,0 +1,317 @@ +--- +title: "Chinese from Emoji 2: 陆地动物" +date: 2019-11-27 +image: https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQpaKJKlp3UhF_S-Q5sPWmLnKhwb8Ey0sqA7ersas1OJcAgZFzB +tag: + - vocab + - emoji + - quiz +--- + +Try listening to these vocabs. + +🐇🐿🦌🐑🐔🦃🐃🦇🦘🐘🐐🐎🦓🦔🐱🦒 + +🦏🐒🐂🦁🐅🐆🐭🦊🐺🐻🐼🐖🐷🐗🦛 + + + +🐇 + +::: spoiler + +![Rabbit](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTgZKETKZReclztnr36eg9hkCmk44_dxt_EqYC8gmztCr9GSJfX) + +兔子 + +::: + +🐿 + +::: spoiler + +![Squirrel](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcShluTpNrtAejxR6NYhfBqht_G267WQrGquhCSLI4IMpRgtj9wn) + +松鼠 + +::: + +🦌 + +::: spoiler + +![Dear](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQu_HYQcGWWlj5sS_BAMGv_o8sfIXRMK7RkJC5LGi6nZNv8MjVE) + +鹿 + +::: + +🐑 + +::: spoiler + +![Sheep](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQQnXst55ZhokBJVwHm1G9V6VCoOCfLF00IpVFEkuvANf0jRWcS) + +羊 + +::: + +🐔 + +::: spoiler + +![Chicken](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQIQAJUvcKUbDVr0SRrbpgyd40UPBxulx8CFfPQ_xW1x45MvFI8) + +鸡 + +::: + +🦃 + +::: spoiler + +![Turkey](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQPVfoez-UNLKH0lMy7IeZwkZjw9L4e5rXdRaiMSVVyDxl1ZlaX) + +火鸡 + +::: + +🐃 + +::: spoiler + +![Buffalo](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSJ7UiOM8Vb4T5P6rWwB9MeYp-EPdOYzjFdTOZUEPaHE12kSxa3) + +水牛 + +::: + +🦇 + +::: spoiler + +![Bat](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRAO2I0WYHlTtu83tBnRePDTkQaYfckAKvp0HbQ7cBtE96znb9I) + +蝙蝠 + +::: + +🦘 + +::: spoiler + +![Kangaroo](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRK6TALcxKbqbYMM4CFzUiQ8BWINhJlqSta8YzpdzL_P5pB2am3) + +袋鼠 + +::: + +🐘 + +::: spoiler + +![Elephant](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQFFZlzsqqSRxshSH2NNfunJ54cRUjwRGRUIUNxyGk1Yx6_I7IX) + +象 + +::: + +🐐 + +::: spoiler + +![Goat](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTwjBRu7ckuHFa29OI6HW_EYrS_nhF1xyJtWtLq_EIgCdOtARds) + +山羊 + +::: + +🐎 + +::: spoiler + +![Horse](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcThaRUqPBUstqBofBZ_Ob7_elvM5tXJNkWBzFMGdSTyV12cPhGM) + +马 + +::: + +🦓 + +::: spoiler + +![Zebra](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQT5b7zaj4Z7B7V3dZ5lGrizvghIILbUsvYyxM_hda4wqAkjYsz) + +斑马 + +::: + +🦔 + +::: spoiler + +![Porcupine](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRCa0wRYh7ojUwEPaNF2kO7AV48DIaNZog2ve5tdMa2VRfEAQ59) + +刺猬 + +::: + +🐱 + +::: spoiler + +![Cat](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTH6HxArpzIWYQS0fcDadxydvn_PDoLc-LXyM2JKevuxYkZIJmP) + +猫 + +::: + +🦒 + +::: spoiler + +![Giraffe](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTmNU2_Fxud_jtTGv1dTagn1y_EiKVAXYLE4r1oCnCC_gro7kJG) + +长颈鹿 + +::: + +🦏 + +::: spoiler + +![Rhinoceros](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRXJC-RjvLoCa6XLaMO_ECsgwIHHmcsDfQ2ZDQyj0xqcsiR7jeK) + +犀牛 + +::: + +🐒 + +::: spoiler + +![Monkey](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTfWUPBNsNz4bqM6fzXSHa4RiB3vZPQMSIuyQPR9gzuwSSA87p_) + +猴子 + +::: + +🐂 + +::: spoiler + +![Cow](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRgFMVM5-iSb6YIygRLmw1Vf0JT-NGuUfMMRFB7lnRaSlX4NGH-) + +牛 + +::: + +🦁 + +::: spoiler + +![Lion](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRSNEDrptbNevVztyPoBYHe9JGwlQkGbywo9TNyzO-w0iqCAiNu) + +狮子 + +::: + +🐅 + +::: spoiler + +![Tiger](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRpyopIPkZ_V2oe-812Hn4LOjyUUoDI--6EYoNmn2uhOcfzH-ir) + +老虎 + +::: + +🐆 + +::: spoiler + +![Leopard](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcStdPdWDF3r-2qUGsOJNPHbEKU8ePX3ZOi-ZC433DaSrcSHNrHX) + +豹 + +::: + +🐭 + +::: spoiler + +![Rat](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQsaBhrdV0XTlRUClE0yFD8oIh2nNskD5_dqYsW7Gz-7g0aNzVG) + +鼠 + +::: + +🦊 + +::: spoiler + +![Fox](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcT--eJ4F1WQlPQKXO3fAhadFOur0E34Xmcts2Jnd7CKGiFQFKud) + +狐狸 + +::: + +🐺 + +::: spoiler + +![Wolf](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSgbZu2ZhFI-eA36iUtq9F7-MXlxr2J7KoaeNCWIIXkiPlT2j2B) + +狼 + +::: + +🐻 + +::: spoiler + +![Bear](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcT9n8v18VEh0az3_gO5_ze5juWRnhpWn011W5hIA0pJeIvHWOKs) + +熊 🐻 (● ̄(エ) ̄●) + +::: + +🐼 + +::: spoiler + +![Panda](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTIYWdfN3O4BldibRn3Gba7SYNOkc1Jm8o7i1lSBS2JzKVjGwUI) + +熊猫 + +::: + +🐷 + +::: spoiler + +![Pig](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQEdwTapN_-twxh0F0ED31GIwOGpl58GAX7kdTr7-gnK_LwgCoS) + +猪 🐖 🐷 ^(\* ̄(oo) ̄)^ + +::: + +🐗 + +::: spoiler + +![Hog](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQciGnncA1KUjyCt7lwfgWBKMEgDvU2yLhBiY5Xh1CG0VDTjbtp) + +野猪 + +::: + +🦛 + +::: spoiler + +![Hippotamus](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQ_QP6_Dx9eb_U6V3nH3cF44sv2bd5oJqWEgWhO6vR0mvGscdZw) + +河马 + +::: diff --git a/data/posts/blog/2019/11/move-to-netlify.md b/post/2019/11/move-to-netlify.md similarity index 100% rename from data/posts/blog/2019/11/move-to-netlify.md rename to post/2019/11/move-to-netlify.md diff --git a/data/posts/blog/2019/12/back-to-former.md b/post/2019/12/back-to-former.md similarity index 100% rename from data/posts/blog/2019/12/back-to-former.md rename to post/2019/12/back-to-former.md diff --git a/data/posts/blog/2019/12/emoji-animal1.md b/post/2019/12/emoji-animal1.md similarity index 100% rename from data/posts/blog/2019/12/emoji-animal1.md rename to post/2019/12/emoji-animal1.md diff --git a/data/posts/blog/2020/02/我和你-song.md b/post/2020/02/我和你-song.md similarity index 98% rename from data/posts/blog/2020/02/我和你-song.md rename to post/2020/02/我和你-song.md index 5eff1fa..41c1c5b 100644 --- a/data/posts/blog/2020/02/我和你-song.md +++ b/post/2020/02/我和你-song.md @@ -8,7 +8,7 @@ tag: - + 鄧麗君 diff --git a/data/posts/千字文/千字文1.1.md b/post/千字文/千字文1.1.md similarity index 100% rename from data/posts/千字文/千字文1.1.md rename to post/千字文/千字文1.1.md diff --git a/data/posts/千字文/千字文1.2.md b/post/千字文/千字文1.2.md similarity index 100% rename from data/posts/千字文/千字文1.2.md rename to post/千字文/千字文1.2.md diff --git a/data/posts/千字文/千字文1.3.md b/post/千字文/千字文1.3.md similarity index 100% rename from data/posts/千字文/千字文1.3.md rename to post/千字文/千字文1.3.md diff --git a/data/posts/千字文/千字文1.4.md b/post/千字文/千字文1.4.md similarity index 100% rename from data/posts/千字文/千字文1.4.md rename to post/千字文/千字文1.4.md diff --git a/data/posts/千字文/千字文1.5.md b/post/千字文/千字文1.5.md similarity index 100% rename from data/posts/千字文/千字文1.5.md rename to post/千字文/千字文1.5.md diff --git a/data/posts/千字文/千字文1.6.md b/post/千字文/千字文1.6.md similarity index 100% rename from data/posts/千字文/千字文1.6.md rename to post/千字文/千字文1.6.md diff --git a/data/posts/千字文/千字文1.7.md b/post/千字文/千字文1.7.md similarity index 100% rename from data/posts/千字文/千字文1.7.md rename to post/千字文/千字文1.7.md diff --git a/data/posts/千字文/千字文1.8.md b/post/千字文/千字文1.8.md similarity index 100% rename from data/posts/千字文/千字文1.8.md rename to post/千字文/千字文1.8.md diff --git a/data/posts/千字文/千字文1.9.md b/post/千字文/千字文1.9.md similarity index 100% rename from data/posts/千字文/千字文1.9.md rename to post/千字文/千字文1.9.md diff --git a/data/posts/千字文/千字文2.1.md b/post/千字文/千字文2.1.md similarity index 100% rename from data/posts/千字文/千字文2.1.md rename to post/千字文/千字文2.1.md diff --git a/data/posts/千字文/千字文2.2.md b/post/千字文/千字文2.2.md similarity index 100% rename from data/posts/千字文/千字文2.2.md rename to post/千字文/千字文2.2.md diff --git a/data/posts/千字文/千字文2.3.md b/post/千字文/千字文2.3.md similarity index 100% rename from data/posts/千字文/千字文2.3.md rename to post/千字文/千字文2.3.md diff --git a/data/posts/千字文/千字文2.4.md b/post/千字文/千字文2.4.md similarity index 100% rename from data/posts/千字文/千字文2.4.md rename to post/千字文/千字文2.4.md diff --git a/data/posts/千字文/千字文2.5.md b/post/千字文/千字文2.5.md similarity index 100% rename from data/posts/千字文/千字文2.5.md rename to post/千字文/千字文2.5.md diff --git a/data/posts/千字文/千字文2.6.md b/post/千字文/千字文2.6.md similarity index 100% rename from data/posts/千字文/千字文2.6.md rename to post/千字文/千字文2.6.md diff --git a/data/posts/千字文/千字文2.7.md b/post/千字文/千字文2.7.md similarity index 100% rename from data/posts/千字文/千字文2.7.md rename to post/千字文/千字文2.7.md diff --git a/data/posts/千字文/千字文2.8.md b/post/千字文/千字文2.8.md similarity index 100% rename from data/posts/千字文/千字文2.8.md rename to post/千字文/千字文2.8.md diff --git a/data/posts/千字文/千字文2.9.md b/post/千字文/千字文2.9.md similarity index 100% rename from data/posts/千字文/千字文2.9.md rename to post/千字文/千字文2.9.md diff --git a/data/posts/千字文/千字文3.1.md b/post/千字文/千字文3.1.md similarity index 100% rename from data/posts/千字文/千字文3.1.md rename to post/千字文/千字文3.1.md diff --git a/data/posts/千字文/千字文3.2.md b/post/千字文/千字文3.2.md similarity index 100% rename from data/posts/千字文/千字文3.2.md rename to post/千字文/千字文3.2.md diff --git a/data/posts/千字文/千字文3.3.md b/post/千字文/千字文3.3.md similarity index 100% rename from data/posts/千字文/千字文3.3.md rename to post/千字文/千字文3.3.md diff --git a/data/resources/.markdownlint.json b/resources/.markdownlint.json similarity index 100% rename from data/resources/.markdownlint.json rename to resources/.markdownlint.json diff --git a/data/resources/old/user/category/人体.md b/resources/old/user/category/人体.md similarity index 100% rename from data/resources/old/user/category/人体.md rename to resources/old/user/category/人体.md diff --git a/data/resources/old/user/category/政治.md b/resources/old/user/category/政治.md similarity index 100% rename from data/resources/old/user/category/政治.md rename to resources/old/user/category/政治.md diff --git a/data/resources/old/user/essay/一棵开花的树.md b/resources/old/user/essay/一棵开花的树.md similarity index 100% rename from data/resources/old/user/essay/一棵开花的树.md rename to resources/old/user/essay/一棵开花的树.md diff --git a/data/resources/old/user/essay/再别康桥.md b/resources/old/user/essay/再别康桥.md similarity index 100% rename from data/resources/old/user/essay/再别康桥.md rename to resources/old/user/essay/再别康桥.md diff --git a/data/resources/old/user/essay/微信.md b/resources/old/user/essay/微信.md similarity index 100% rename from data/resources/old/user/essay/微信.md rename to resources/old/user/essay/微信.md diff --git a/data/resources/old/user/textbook/01.md b/resources/old/user/textbook/01.md similarity index 100% rename from data/resources/old/user/textbook/01.md rename to resources/old/user/textbook/01.md diff --git a/data/resources/old/user/textbook/02.md b/resources/old/user/textbook/02.md similarity index 100% rename from data/resources/old/user/textbook/02.md rename to resources/old/user/textbook/02.md diff --git a/data/resources/old/user/textbook/03.md b/resources/old/user/textbook/03.md similarity index 100% rename from data/resources/old/user/textbook/03.md rename to resources/old/user/textbook/03.md diff --git a/data/resources/old/user/textbook/07.md b/resources/old/user/textbook/07.md similarity index 100% rename from data/resources/old/user/textbook/07.md rename to resources/old/user/textbook/07.md diff --git a/data/resources/old/user/textbook/08.md b/resources/old/user/textbook/08.md similarity index 100% rename from data/resources/old/user/textbook/08.md rename to resources/old/user/textbook/08.md diff --git a/data/resources/old/user/textbook/12.md b/resources/old/user/textbook/12.md similarity index 100% rename from data/resources/old/user/textbook/12.md rename to resources/old/user/textbook/12.md diff --git a/data/resources/old/user/textbook/13.md b/resources/old/user/textbook/13.md similarity index 100% rename from data/resources/old/user/textbook/13.md rename to resources/old/user/textbook/13.md diff --git a/data/resources/old/user/textbook/14.md b/resources/old/user/textbook/14.md similarity index 100% rename from data/resources/old/user/textbook/14.md rename to resources/old/user/textbook/14.md diff --git a/data/resources/old/user/textbook/15.md b/resources/old/user/textbook/15.md similarity index 100% rename from data/resources/old/user/textbook/15.md rename to resources/old/user/textbook/15.md diff --git a/data/resources/old/user/textbook/16.md b/resources/old/user/textbook/16.md similarity index 100% rename from data/resources/old/user/textbook/16.md rename to resources/old/user/textbook/16.md diff --git a/data/resources/old/user/textbook/17.md b/resources/old/user/textbook/17.md similarity index 100% rename from data/resources/old/user/textbook/17.md rename to resources/old/user/textbook/17.md diff --git a/data/resources/old/user/textbook/18.md b/resources/old/user/textbook/18.md similarity index 100% rename from data/resources/old/user/textbook/18.md rename to resources/old/user/textbook/18.md diff --git a/data/resources/old/user/textbook/19.md b/resources/old/user/textbook/19.md similarity index 100% rename from data/resources/old/user/textbook/19.md rename to resources/old/user/textbook/19.md diff --git a/data/resources/old/user/textbook/20.md b/resources/old/user/textbook/20.md similarity index 100% rename from data/resources/old/user/textbook/20.md rename to resources/old/user/textbook/20.md diff --git a/data/resources/old/user/textbook/21.md b/resources/old/user/textbook/21.md similarity index 100% rename from data/resources/old/user/textbook/21.md rename to resources/old/user/textbook/21.md diff --git a/data/resources/old/user/textbook/22.md b/resources/old/user/textbook/22.md similarity index 100% rename from data/resources/old/user/textbook/22.md rename to resources/old/user/textbook/22.md diff --git a/data/resources/old/user/textbook/23.md b/resources/old/user/textbook/23.md similarity index 100% rename from data/resources/old/user/textbook/23.md rename to resources/old/user/textbook/23.md diff --git a/data/resources/old/user/textbook/24.md b/resources/old/user/textbook/24.md similarity index 100% rename from data/resources/old/user/textbook/24.md rename to resources/old/user/textbook/24.md diff --git a/data/resources/old/user/textbook/25.md b/resources/old/user/textbook/25.md similarity index 100% rename from data/resources/old/user/textbook/25.md rename to resources/old/user/textbook/25.md diff --git a/data/resources/sentences/2019-09-23-cyber.md b/resources/sentences/2019-09-23-cyber.md similarity index 100% rename from data/resources/sentences/2019-09-23-cyber.md rename to resources/sentences/2019-09-23-cyber.md diff --git a/data/resources/sentences/2019-09-24-cyber.md b/resources/sentences/2019-09-24-cyber.md similarity index 100% rename from data/resources/sentences/2019-09-24-cyber.md rename to resources/sentences/2019-09-24-cyber.md diff --git a/data/resources/vocab/2019/09/2019-09-23-人身.md b/resources/vocab/2019/09/2019-09-23-人身.md similarity index 100% rename from data/resources/vocab/2019/09/2019-09-23-人身.md rename to resources/vocab/2019/09/2019-09-23-人身.md diff --git a/data/resources/vocab/2019/09/2019-09-24-动词.md b/resources/vocab/2019/09/2019-09-24-动词.md similarity index 100% rename from data/resources/vocab/2019/09/2019-09-24-动词.md rename to resources/vocab/2019/09/2019-09-24-动词.md diff --git a/data/resources/vocab/2019/09/2019-09-25-web.md b/resources/vocab/2019/09/2019-09-25-web.md similarity index 100% rename from data/resources/vocab/2019/09/2019-09-25-web.md rename to resources/vocab/2019/09/2019-09-25-web.md diff --git a/data/resources/vocab/2019/09/2019-09-25-亲戚.md b/resources/vocab/2019/09/2019-09-25-亲戚.md similarity index 100% rename from data/resources/vocab/2019/09/2019-09-25-亲戚.md rename to resources/vocab/2019/09/2019-09-25-亲戚.md diff --git a/data/resources/vocab/2019/09/2019-09-25-关系.md b/resources/vocab/2019/09/2019-09-25-关系.md similarity index 100% rename from data/resources/vocab/2019/09/2019-09-25-关系.md rename to resources/vocab/2019/09/2019-09-25-关系.md diff --git a/data/resources/vocab/2019/09/2019-09-26-职业.md b/resources/vocab/2019/09/2019-09-26-职业.md similarity index 100% rename from data/resources/vocab/2019/09/2019-09-26-职业.md rename to resources/vocab/2019/09/2019-09-26-职业.md diff --git a/data/resources/vocab/2019/09/2019-09-27-衣服.md b/resources/vocab/2019/09/2019-09-27-衣服.md similarity index 100% rename from data/resources/vocab/2019/09/2019-09-27-衣服.md rename to resources/vocab/2019/09/2019-09-27-衣服.md diff --git a/data/resources/vocab/2019/09/2019-09-27-餐厅.md b/resources/vocab/2019/09/2019-09-27-餐厅.md similarity index 100% rename from data/resources/vocab/2019/09/2019-09-27-餐厅.md rename to resources/vocab/2019/09/2019-09-27-餐厅.md diff --git a/data/resources/vocab/2019/09/2019-09-28-菜单.md b/resources/vocab/2019/09/2019-09-28-菜单.md similarity index 100% rename from data/resources/vocab/2019/09/2019-09-28-菜单.md rename to resources/vocab/2019/09/2019-09-28-菜单.md diff --git a/data/resources/vocab/2019/09/2019-09-29-性格.md b/resources/vocab/2019/09/2019-09-29-性格.md similarity index 100% rename from data/resources/vocab/2019/09/2019-09-29-性格.md rename to resources/vocab/2019/09/2019-09-29-性格.md diff --git a/data/resources/vocab/2019/09/2019-09-29-菜单.md b/resources/vocab/2019/09/2019-09-29-菜单.md similarity index 100% rename from data/resources/vocab/2019/09/2019-09-29-菜单.md rename to resources/vocab/2019/09/2019-09-29-菜单.md diff --git a/data/resources/vocab/2019/09/2019-09-30-水果.md b/resources/vocab/2019/09/2019-09-30-水果.md similarity index 100% rename from data/resources/vocab/2019/09/2019-09-30-水果.md rename to resources/vocab/2019/09/2019-09-30-水果.md diff --git a/data/resources/vocab/2019/09/2019-09-30-蔬菜.md b/resources/vocab/2019/09/2019-09-30-蔬菜.md similarity index 100% rename from data/resources/vocab/2019/09/2019-09-30-蔬菜.md rename to resources/vocab/2019/09/2019-09-30-蔬菜.md diff --git a/data/resources/vocab/2019/10/2019-10-01-性质.md b/resources/vocab/2019/10/2019-10-01-性质.md similarity index 100% rename from data/resources/vocab/2019/10/2019-10-01-性质.md rename to resources/vocab/2019/10/2019-10-01-性质.md diff --git a/data/resources/vocab/2019/10/2019-10-02-住宅.md b/resources/vocab/2019/10/2019-10-02-住宅.md similarity index 100% rename from data/resources/vocab/2019/10/2019-10-02-住宅.md rename to resources/vocab/2019/10/2019-10-02-住宅.md diff --git a/data/resources/vocab/2019/10/2019-10-11-政治.md b/resources/vocab/2019/10/2019-10-11-政治.md similarity index 100% rename from data/resources/vocab/2019/10/2019-10-11-政治.md rename to resources/vocab/2019/10/2019-10-11-政治.md diff --git a/data/resources/vocab/2019/10/2019-10-17-政府.md b/resources/vocab/2019/10/2019-10-17-政府.md similarity index 100% rename from data/resources/vocab/2019/10/2019-10-17-政府.md rename to resources/vocab/2019/10/2019-10-17-政府.md diff --git a/data/resources/vocab/2019/10/2019-10-18-交通.md b/resources/vocab/2019/10/2019-10-18-交通.md similarity index 100% rename from data/resources/vocab/2019/10/2019-10-18-交通.md rename to resources/vocab/2019/10/2019-10-18-交通.md diff --git a/data/resources/vocab/2019/10/2019-10-18-政府.md b/resources/vocab/2019/10/2019-10-18-政府.md similarity index 100% rename from data/resources/vocab/2019/10/2019-10-18-政府.md rename to resources/vocab/2019/10/2019-10-18-政府.md diff --git a/data/resources/vocab/2019/10/2019-10-19-火车站.md b/resources/vocab/2019/10/2019-10-19-火车站.md similarity index 100% rename from data/resources/vocab/2019/10/2019-10-19-火车站.md rename to resources/vocab/2019/10/2019-10-19-火车站.md diff --git a/data/resources/vocab/2019/10/2019-10-21-机场.md b/resources/vocab/2019/10/2019-10-21-机场.md similarity index 100% rename from data/resources/vocab/2019/10/2019-10-21-机场.md rename to resources/vocab/2019/10/2019-10-21-机场.md diff --git a/data/resources/vocab/2019/10/2019-10-21-港口.md b/resources/vocab/2019/10/2019-10-21-港口.md similarity index 100% rename from data/resources/vocab/2019/10/2019-10-21-港口.md rename to resources/vocab/2019/10/2019-10-21-港口.md diff --git a/data/resources/vocab/2019/10/2019-10-22-交通.md b/resources/vocab/2019/10/2019-10-22-交通.md similarity index 100% rename from data/resources/vocab/2019/10/2019-10-22-交通.md rename to resources/vocab/2019/10/2019-10-22-交通.md diff --git a/data/resources/vocab/2019/10/2019-10-26-医院.md b/resources/vocab/2019/10/2019-10-26-医院.md similarity index 100% rename from data/resources/vocab/2019/10/2019-10-26-医院.md rename to resources/vocab/2019/10/2019-10-26-医院.md diff --git a/data/resources/vocab/2019/10/2019-10-30-病症.md b/resources/vocab/2019/10/2019-10-30-病症.md similarity index 100% rename from data/resources/vocab/2019/10/2019-10-30-病症.md rename to resources/vocab/2019/10/2019-10-30-病症.md diff --git a/data/resources/vocab/2019/11/2019-11-08-医疗.md b/resources/vocab/2019/11/2019-11-08-医疗.md similarity index 100% rename from data/resources/vocab/2019/11/2019-11-08-医疗.md rename to resources/vocab/2019/11/2019-11-08-医疗.md diff --git a/data/resources/vocab/2019/12/2019-12-08-动物.md b/resources/vocab/2019/12/2019-12-08-动物.md similarity index 100% rename from data/resources/vocab/2019/12/2019-12-08-动物.md rename to resources/vocab/2019/12/2019-12-08-动物.md diff --git a/data/resources/vocab/2019/12/2019-12-13-动物.md b/resources/vocab/2019/12/2019-12-13-动物.md similarity index 100% rename from data/resources/vocab/2019/12/2019-12-13-动物.md rename to resources/vocab/2019/12/2019-12-13-动物.md diff --git a/data/slides/.markdownlint.json b/slides/.markdownlint.json similarity index 100% rename from data/slides/.markdownlint.json rename to slides/.markdownlint.json diff --git a/data/slides/old/idiom1.md b/slides/old/idiom1.md similarity index 100% rename from data/slides/old/idiom1.md rename to slides/old/idiom1.md diff --git a/data/slides/old/句子1.1.md b/slides/old/句子1.1.md similarity index 100% rename from data/slides/old/句子1.1.md rename to slides/old/句子1.1.md diff --git a/data/slides/old/句子1.2.md b/slides/old/句子1.2.md similarity index 100% rename from data/slides/old/句子1.2.md rename to slides/old/句子1.2.md diff --git a/data/slides/old/句子1.3.md b/slides/old/句子1.3.md similarity index 100% rename from data/slides/old/句子1.3.md rename to slides/old/句子1.3.md diff --git a/data/slides/old/句子x1.md b/slides/old/句子x1.md similarity index 100% rename from data/slides/old/句子x1.md rename to slides/old/句子x1.md diff --git a/data/slides/old/汉语常用反义词/11-20.md b/slides/old/汉语常用反义词/11-20.md similarity index 100% rename from data/slides/old/汉语常用反义词/11-20.md rename to slides/old/汉语常用反义词/11-20.md diff --git a/data/slides/old/泰语分类词汇/调味料词汇.md b/slides/old/泰语分类词汇/调味料词汇.md similarity index 100% rename from data/slides/old/泰语分类词汇/调味料词汇.md rename to slides/old/泰语分类词汇/调味料词汇.md diff --git a/data/slides/old/身体1.md b/slides/old/身体1.md similarity index 100% rename from data/slides/old/身体1.md rename to slides/old/身体1.md diff --git a/data/slides/sentences/2019-09-27.md b/slides/sentences/2019-09-27.md similarity index 100% rename from data/slides/sentences/2019-09-27.md rename to slides/sentences/2019-09-27.md diff --git a/data/slides/vocab/chinese/2019-09-26-body.md b/slides/vocab/chinese/2019-09-26-body.md similarity index 100% rename from data/slides/vocab/chinese/2019-09-26-body.md rename to slides/vocab/chinese/2019-09-26-body.md diff --git a/data/slides/vocab/chinese/2019-09-26-expression.md b/slides/vocab/chinese/2019-09-26-expression.md similarity index 100% rename from data/slides/vocab/chinese/2019-09-26-expression.md rename to slides/vocab/chinese/2019-09-26-expression.md diff --git a/data/slides/vocab/chinese/2019-09-27-relationship.md b/slides/vocab/chinese/2019-09-27-relationship.md similarity index 100% rename from data/slides/vocab/chinese/2019-09-27-relationship.md rename to slides/vocab/chinese/2019-09-27-relationship.md diff --git a/data/slides/vocab/chinese/2019-09-30-fruit.md b/slides/vocab/chinese/2019-09-30-fruit.md similarity index 100% rename from data/slides/vocab/chinese/2019-09-30-fruit.md rename to slides/vocab/chinese/2019-09-30-fruit.md diff --git a/data/slides/vocab/images/2019-09-26-IT.md b/slides/vocab/images/2019-09-26-IT.md similarity index 100% rename from data/slides/vocab/images/2019-09-26-IT.md rename to slides/vocab/images/2019-09-26-IT.md diff --git a/data/slides/vocab/images/2019-09-26-body.md b/slides/vocab/images/2019-09-26-body.md similarity index 100% rename from data/slides/vocab/images/2019-09-26-body.md rename to slides/vocab/images/2019-09-26-body.md diff --git a/data/slides/vocab/images/2019-09-29-动词.md b/slides/vocab/images/2019-09-29-动词.md similarity index 100% rename from data/slides/vocab/images/2019-09-29-动词.md rename to slides/vocab/images/2019-09-29-动词.md diff --git a/data/slides/vocab/images/2019-09-29-性格.md b/slides/vocab/images/2019-09-29-性格.md similarity index 100% rename from data/slides/vocab/images/2019-09-29-性格.md rename to slides/vocab/images/2019-09-29-性格.md diff --git a/data/slides/vocab/listening/2019-10-03-daily-stuff.md b/slides/vocab/listening/2019-10-03-daily-stuff.md similarity index 100% rename from data/slides/vocab/listening/2019-10-03-daily-stuff.md rename to slides/vocab/listening/2019-10-03-daily-stuff.md diff --git a/data/slides/vocab/listening/2019-10-19-交通.md b/slides/vocab/listening/2019-10-19-交通.md similarity index 100% rename from data/slides/vocab/listening/2019-10-19-交通.md rename to slides/vocab/listening/2019-10-19-交通.md diff --git a/data/slides/vocab/listening/2019-10-20-火车站.md b/slides/vocab/listening/2019-10-20-火车站.md similarity index 100% rename from data/slides/vocab/listening/2019-10-20-火车站.md rename to slides/vocab/listening/2019-10-20-火车站.md diff --git a/web/backend/.gitignore b/web/backend/.gitignore deleted file mode 100644 index b512c09..0000000 --- a/web/backend/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules \ No newline at end of file diff --git a/web/backend/assets/.gitignore b/web/backend/assets/.gitignore deleted file mode 100644 index ee518af..0000000 --- a/web/backend/assets/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -* -*.* -!.gitignore \ No newline at end of file diff --git a/web/backend/package.json b/web/backend/package.json deleted file mode 100644 index f765af4..0000000 --- a/web/backend/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "backend", - "version": "1.0.0", - "private": true, - "author": "Pacharapol Withayasakpunt (https://polvcode.dev)", - "license": "MIT", - "scripts": { - "dev": "ts-node-dev src/index.ts" - }, - "dependencies": { - "@patarapolw/qsearch": "^1.1.1", - "cors": "^2.8.5", - "dayjs": "^1.8.21", - "express": "^4.17.1", - "fast-glob": "^3.2.2", - "gray-matter": "^4.0.2", - "nedb-promises": "^4.0.1", - "pug": "^2.0.4", - "scope-css": "^1.2.1", - "showdown": "^1.9.1" - }, - "devDependencies": { - "@types/cors": "^2.8.6", - "@types/express": "^4.17.2", - "@types/node": "^13.7.6", - "@types/pug": "^2.0.4", - "@types/showdown": "^1.9.3", - "ts-node-dev": "^1.0.0-pre.44", - "typescript": "^3.8.2" - } -} diff --git a/web/backend/scripts/prepare.ts b/web/backend/scripts/prepare.ts deleted file mode 100644 index 3e6e5eb..0000000 --- a/web/backend/scripts/prepare.ts +++ /dev/null @@ -1,107 +0,0 @@ -import fs from 'fs' -import crypto from 'crypto' - -import matter from 'gray-matter' -import glob from 'fast-glob' -import DataStore from 'nedb-promises' -import dayjs from 'dayjs' - -import MakeHtml from '../src/utils/make-html' - -// eslint-disable-next-line camelcase -const excerpt_separator = '' -const db = new DataStore('assets/data.nedb') - -;(async () => { - await db.ensureIndex({ fieldName: 'h', unique: true }) - - const files = await glob('**/*.md', { - cwd: '../../data' - }) - await Promise.all(files.map(async (f) => { - let type = '' - - if (f.startsWith('slides/')) { - type = 'slides' - } - - const s = fs.readFileSync(`../../data/${f}`, 'utf8') - const h = crypto.createHash('sha256').update(s).digest('base64') - - const { data, content, excerpt } = matter(s, { - excerpt_separator - }) - - try { - if (type === 'slides') { - const slides = content.split(/\n===\n/g).map((ss) => { - return ss.split(/\n--\n/g).map((s) => { - const make = new MakeHtml() - return make.parse(s) - }).reduce((prev, c, i) => ({ ...prev, [i.toString()]: c }), {} as any) - }).reduce((prev, c, i) => ({ ...prev, [i.toString()]: c }), {} as any) - - const computedExcerpt = slides['0']['0'] - - await db.insert({ - ...data, - date: formatDate(data.date), - filename: f, - type, - slug: f.replace(/^slides\//, '').replace(/\.md$/, ''), - h, - excerpt: computedExcerpt, - slides - }) - } else { - const make = new MakeHtml() - - let computedExcerpt = '' - let computedContent = '' - - if (excerpt) { - computedExcerpt = make.parse(excerpt) - computedContent = make.parse(content.substr(excerpt.length + excerpt_separator.length)) - } else { - computedContent = make.parse(content) - computedExcerpt = computedContent.substr(0, 500).replace(/<[^>]*$/, '') - computedContent = computedContent.substr(computedExcerpt.length) - } - - await db.insert({ - ...data, - date: formatDate(data.date), - filename: f, - type: f.split('/')[0], - slug: f.startsWith('posts/blog/') - ? f.replace(/^posts\/blog\//, '').replace(/\.md$/, '') - : f.startsWith('posts/') - ? (() => { - const ff = f.split('/') - return ff[ff.length - 1].replace(/\.md$/, '') - })() - : f.replace(/^[^/]+?\//, '').replace(/\.md$/, ''), - h, - excerpt: computedExcerpt, - remaining: computedContent - }) - } - } catch (e) { - console.error(e, f) - } - })) -})().catch(console.error) - -const tzOffset = new Date().getTimezoneOffset() - -function formatDate (d?: string | Date) { - if (d) { - if (typeof d === 'string') { - return dayjs(d).toDate() - } else { - return dayjs(d).add(tzOffset, 'minute').toDate() - } - } - - return d -} diff --git a/web/backend/src/api/data.ts b/web/backend/src/api/data.ts deleted file mode 100644 index 4b18af8..0000000 --- a/web/backend/src/api/data.ts +++ /dev/null @@ -1,65 +0,0 @@ -import fs from 'fs' -import path from 'path' - -import { Router } from 'express' -import bodyParser from 'body-parser' -import QSearch from '@patarapolw/qsearch' - -import MakeHtml from '../utils/make-html' -import { db } from '../global' - -const dataRouter = Router() -dataRouter.use(bodyParser.json()) - -dataRouter.get('/*', (req, res) => { - const p = path.join('../../data', `${req.params[0]}.md`) - - if (fs.existsSync(p)) { - const d = fs.readFileSync(p, 'utf8') - const html = new MakeHtml().parse(d) - - res.send(html) - } else { - res.sendStatus(404) - } -}) - -dataRouter.post('/:type', async (req, res, next) => { - try { - const { q, cond = {}, project, offset, limit } = req.body - const $and = [ - { type: req.params.type }, - cond - ] - - if (q) { - const parser = new QSearch({ - dialect: 'nedb', - schema: { - title: {}, - slug: {}, - excerpt: {}, - date: { type: 'date' } - } - }) - $and.push(parser.parse(q).cond) - } - - const count = await db.count({ $and }) - - let c = db.find({ $and }, project).sort({ date: -1 }).skip(offset || 0) - - if (limit !== null) { - c = c.limit(limit || 5) - } - - res.json({ - data: await c, - count - }) - } catch (e) { - next(e) - } -}) - -export default dataRouter diff --git a/web/backend/src/api/index.ts b/web/backend/src/api/index.ts deleted file mode 100644 index eebd8af..0000000 --- a/web/backend/src/api/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Router } from 'express' -import cors from 'cors' -import dataRouter from './data' - -const apiRouter = Router() -apiRouter.use(cors()) - -apiRouter.get('/', (req, res) => res.sendStatus(200)) -apiRouter.get('/api/favicon.ico', (req, res) => { - res.sendFile('../../data/favicon.ico') -}) - -apiRouter.use('/data', dataRouter) - -export default apiRouter diff --git a/web/backend/src/global.ts b/web/backend/src/global.ts deleted file mode 100644 index 8fc3702..0000000 --- a/web/backend/src/global.ts +++ /dev/null @@ -1,3 +0,0 @@ -import DataStore from 'nedb-promises' - -export const db = new DataStore('assets/data.nedb') diff --git a/web/backend/src/index.ts b/web/backend/src/index.ts deleted file mode 100644 index 895f147..0000000 --- a/web/backend/src/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -import express from 'express' -import apiRouter from './api' - -const app = express() -const PORT = process.env.PORT || '48000' - -app.use('/api', apiRouter) - -app.listen(PORT, () => { - console.info(`Server is running at http://localhost:${PORT}`) -}) diff --git a/web/backend/src/utils/make-html.ts b/web/backend/src/utils/make-html.ts deleted file mode 100644 index 63e30a4..0000000 --- a/web/backend/src/utils/make-html.ts +++ /dev/null @@ -1,62 +0,0 @@ -import pug from 'pug' -// @ts-ignore -import scopeCss from 'scope-css' -import showdown from 'showdown' - -export default class MakeHtml { - md = new showdown.Converter({ - metadata: true - }) - - constructor (public id = 'el-' + Math.random().toString(36).substr(2)) { - this.md.setFlavor('github') - - this.md.addExtension({ - type: 'lang', - filter (text) { - const rowRegex = /(?:(?:^|\r?\n)(?:\| )?(?:(?:.* \| )+.+)*(?:.* \| )+.+(?: \|)?(?:$|\r?\n))+/m - text = text.replace(rowRegex, (p0) => { - return `${ - p0.trim().split('\n').map((pi) => { - pi = pi.trim().replace(/^|/, '').replace(/|$/, '') - return `${ - pi.split(' | ').map((x) => x.trim()).map((qi) => { - return `` - }) - }` - }) - }
${qi}
` - }) - return text - } - }, 'table') - } - - parse (d: string) { - d = d - .replace(/```pug parsed\n(.+?)\n```/gs, (_, p1) => { - return pug.compile(p1, { - filters: { - markdown: (s: string) => `${s}` - } - })() - }) - .replace(/```css parsed\n(.+?)\n```/gs, (_, p1) => { - return `` - }) - .replace(/]*)>(.+?)<\/x-markdown>/gs, (_, p1: string, p2: string) => { - const lines = p2.split('\n') - const marginRegex = new RegExp(`^ {1,${Math.max(0, - ...lines - .map((line) => /^ +[^ ]/.exec(line)) - .map((m) => m ? m[0].length : 0) - )}}`) - - return `${ - lines.map((line) => line.replace(marginRegex, '')).join('\n') - }` - }) - - return `
${this.md.makeHtml(d)}
` - } -} diff --git a/web/backend/tsconfig.json b/web/backend/tsconfig.json deleted file mode 100644 index c939016..0000000 --- a/web/backend/tsconfig.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "compilerOptions": { - /* Basic Options */ - // "incremental": true, /* Enable incremental compilation */ - "target": "esnext", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */ - "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ - // "lib": [], /* Specify library files to be included in the compilation. */ - // "allowJs": true, /* Allow javascript files to be compiled. */ - // "checkJs": true, /* Report errors in .js files. */ - // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ - // "declaration": true, /* Generates corresponding '.d.ts' file. */ - // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ - // "sourceMap": true, /* Generates corresponding '.map' file. */ - // "outFile": "./", /* Concatenate and emit output to single file. */ - // "outDir": "./", /* Redirect output structure to the directory. */ - // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ - // "composite": true, /* Enable project compilation */ - // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ - // "removeComments": true, /* Do not emit comments to output. */ - // "noEmit": true, /* Do not emit outputs. */ - // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ - // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ - - /* Strict Type-Checking Options */ - "strict": true, /* Enable all strict type-checking options. */ - "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ - "strictNullChecks": true, /* Enable strict null checks. */ - "strictFunctionTypes": true, /* Enable strict checking of function types. */ - "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ - "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ - "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ - "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ - - /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - - /* Module Resolution Options */ - // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ - // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ - // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ - // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ - // "typeRoots": [], /* List of folders to include type definitions from. */ - // "types": [], /* Type declaration files to be included in compilation. */ - // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ - // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - - /* Source Map Options */ - // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ - // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ - - /* Experimental Options */ - // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ - // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ - - /* Advanced Options */ - "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ - } -} diff --git a/web/backend/yarn.lock b/web/backend/yarn.lock deleted file mode 100644 index e037543..0000000 --- a/web/backend/yarn.lock +++ /dev/null @@ -1,1864 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@nodelib/fs.scandir@2.1.3": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" - integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== - dependencies: - "@nodelib/fs.stat" "2.0.3" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" - integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" - integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== - dependencies: - "@nodelib/fs.scandir" "2.1.3" - fastq "^1.6.0" - -"@patarapolw/qsearch@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@patarapolw/qsearch/-/qsearch-1.1.1.tgz#58fb4c53a1a89f2981a88f848287e4ebd399aba1" - integrity sha512-Z7H3FX5WWYwGK4ZpVZqHBHQyhtqYOZaTW1FIWb6aspHgKgkym/YixpVDzI+pRK6Wa/oN/UhwJnKt/twOfJcL3g== - dependencies: - dot-prop "^5.2.0" - escape-string-regexp "^2.0.0" - shlex "^2.0.1" - -"@types/babel-types@*", "@types/babel-types@^7.0.0": - version "7.0.7" - resolved "https://registry.yarnpkg.com/@types/babel-types/-/babel-types-7.0.7.tgz#667eb1640e8039436028055737d2b9986ee336e3" - integrity sha512-dBtBbrc+qTHy1WdfHYjBwRln4+LWqASWakLHsWHR2NWHIFkv4W3O070IGoGLEBrJBvct3r0L1BUPuvURi7kYUQ== - -"@types/babylon@^6.16.2": - version "6.16.5" - resolved "https://registry.yarnpkg.com/@types/babylon/-/babylon-6.16.5.tgz#1c5641db69eb8cdf378edd25b4be7754beeb48b4" - integrity sha512-xH2e58elpj1X4ynnKp9qSnWlsRTIs6n3tgLGNfwAGHwePw0mulHQllV34n0T25uYSu1k0hRKkWXF890B1yS47w== - dependencies: - "@types/babel-types" "*" - -"@types/body-parser@*": - version "1.19.0" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f" - integrity sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ== - dependencies: - "@types/connect" "*" - "@types/node" "*" - -"@types/connect@*": - version "3.4.33" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.33.tgz#31610c901eca573b8713c3330abc6e6b9f588546" - integrity sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A== - dependencies: - "@types/node" "*" - -"@types/cors@^2.8.6": - version "2.8.6" - resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.6.tgz#cfaab33c49c15b1ded32f235111ce9123009bd02" - integrity sha512-invOmosX0DqbpA+cE2yoHGUlF/blyf7nB0OGYBBiH27crcVm5NmFaZkLP4Ta1hGaesckCi5lVLlydNJCxkTOSg== - dependencies: - "@types/express" "*" - -"@types/express-serve-static-core@*": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.2.tgz#f6f41fa35d42e79dbf6610eccbb2637e6008a0cf" - integrity sha512-El9yMpctM6tORDAiBwZVLMcxoTMcqqRO9dVyYcn7ycLWbvR8klrDn8CAOwRfZujZtWD7yS/mshTdz43jMOejbg== - dependencies: - "@types/node" "*" - "@types/range-parser" "*" - -"@types/express@*", "@types/express@^4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.2.tgz#a0fb7a23d8855bac31bc01d5a58cadd9b2173e6c" - integrity sha512-5mHFNyavtLoJmnusB8OKJ5bshSzw+qkMIBAobLrIM48HJvunFva9mOa6aBwh64lBFyNwBbs0xiEFuj4eU/NjCA== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "*" - "@types/serve-static" "*" - -"@types/mime@*": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.1.tgz#dc488842312a7f075149312905b5e3c0b054c79d" - integrity sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw== - -"@types/node@*", "@types/node@^13.7.6": - version "13.7.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-13.7.6.tgz#cb734a7c191472ae6a2b3a502b4dfffcea974113" - integrity sha512-eyK7MWD0R1HqVTp+PtwRgFeIsemzuj4gBFSQxfPHY5iMjS7474e5wq+VFgTcdpyHeNxyKSaetYAjdMLJlKoWqA== - -"@types/pug@^2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/pug/-/pug-2.0.4.tgz#8772fcd0418e3cd2cc171555d73007415051f4b2" - integrity sha1-h3L80EGOPNLMFxVV1zAHQVBR9LI= - -"@types/range-parser@*": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" - integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== - -"@types/serve-static@*": - version "1.13.3" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.3.tgz#eb7e1c41c4468272557e897e9171ded5e2ded9d1" - integrity sha512-oprSwp094zOglVrXdlo/4bAHtKTAxX6VT8FOZlBKrmyLbNvE1zxZyJ6yikMVtHIvwP45+ZQGJn+FdXGKTozq0g== - dependencies: - "@types/express-serve-static-core" "*" - "@types/mime" "*" - -"@types/showdown@^1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@types/showdown/-/showdown-1.9.3.tgz#eaa881b03a32d3720184731754d3025fc450b970" - integrity sha512-akvzSmrvY4J5d3tHzUUiQr0xpjd4Nb3uzWW6dtwzYJ+qW/KdWw5F8NLatnor5q/1LURHnzDA1ReEwCVqcatRnw== - -"@types/strip-bom@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2" - integrity sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I= - -"@types/strip-json-comments@0.0.30": - version "0.0.30" - resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1" - integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ== - -accepts@~1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== - dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" - -acorn-globals@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf" - integrity sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8= - dependencies: - acorn "^4.0.4" - -acorn@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" - integrity sha1-ReN/s56No/JbruP/U2niu18iAXo= - -acorn@^4.0.4, acorn@~4.0.2: - version "4.0.13" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" - integrity sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c= - -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" - integrity sha1-DNkKVhCT810KmSVsIrcGlDP60Rc= - dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-styles@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= - -asap@~2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= - -async@0.2.10: - version "0.2.10" - resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" - integrity sha1-trvgsGdLnXGXCMo43owjfLUmw9E= - -babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -babel-types@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" - integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= - dependencies: - babel-runtime "^6.26.0" - esutils "^2.0.2" - lodash "^4.17.4" - to-fast-properties "^1.0.3" - -babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -binary-search-tree@0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/binary-search-tree/-/binary-search-tree-0.2.5.tgz#7dbb3b210fdca082450dad2334c304af39bdc784" - integrity sha1-fbs7IQ/coIJFDa0jNMMErzm9x4Q= - dependencies: - underscore "~1.4.4" - -body-parser@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" - integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== - dependencies: - bytes "3.1.0" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "1.7.2" - iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.7.0" - raw-body "2.4.0" - type-is "~1.6.17" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -bytes@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== - -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - integrity sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk= - -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= - -camelcase@^5.0.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -center-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" - integrity sha1-qg0yYptu6XIgBBHL1EYckHvCt60= - dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" - -character-parser@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/character-parser/-/character-parser-2.2.0.tgz#c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0" - integrity sha1-x84o821LzZdE5f/CxfzeHHMmH8A= - dependencies: - is-regex "^1.0.3" - -clean-css@^4.1.11: - version "4.2.3" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" - integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== - dependencies: - source-map "~0.6.0" - -cliui@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - integrity sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE= - dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" - -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -constantinople@^3.0.1, constantinople@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/constantinople/-/constantinople-3.1.2.tgz#d45ed724f57d3d10500017a7d3a889c1381ae647" - integrity sha512-yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw== - dependencies: - "@types/babel-types" "^7.0.0" - "@types/babylon" "^6.16.2" - babel-types "^6.26.0" - babylon "^6.18.0" - -content-disposition@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== - dependencies: - safe-buffer "5.1.2" - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= - -cookie@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" - integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== - -core-js@^2.4.0: - version "2.6.11" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" - integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== - -cors@^2.8.5: - version "2.8.5" - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== - dependencies: - object-assign "^4" - vary "^1" - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= - dependencies: - array-find-index "^1.0.1" - -dateformat@~1.0.4-1.2.3: - version "1.0.12" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" - integrity sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk= - dependencies: - get-stdin "^4.0.1" - meow "^3.3.0" - -dayjs@^1.8.21: - version "1.8.21" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.8.21.tgz#98299185b72b9b679f31c7ed987b63923c961552" - integrity sha512-1kbWK0hziklUHkGgiKr7xm59KwAg/K3Tp7H/8X+f58DnNCwY3pKYjOCJpIlVs125FRBukGVZdKZojC073D0IeQ== - -debounce@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.0.tgz#44a540abc0ea9943018dc0eaa95cce87f65cd131" - integrity sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg== - -debug@2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -decamelize@^1.0.0, decamelize@^1.1.2, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -doctypes@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9" - integrity sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk= - -dot-prop@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" - integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A== - dependencies: - is-obj "^2.0.0" - -dynamic-dedupe@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz#06e44c223f5e4e94d78ef9db23a6515ce2f962a1" - integrity sha1-BuRMIj9eTpTXjvnbI6ZRXOL5YqE= - dependencies: - xtend "^4.0.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= - -error-ex@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escaper@^2.5.3: - version "2.5.3" - resolved "https://registry.yarnpkg.com/escaper/-/escaper-2.5.3.tgz#8b8fe90ba364054151ab7eff18b4ce43b1e13ab5" - integrity sha512-QGb9sFxBVpbzMggrKTX0ry1oiI4CSDAl9vIL702hzl1jGW8VZs7qfqTRX7WDOjoNDoEVGcEtu1ZOQgReSfT2kQ== - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= - -express@^4.17.1: - version "4.17.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" - integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== - dependencies: - accepts "~1.3.7" - array-flatten "1.1.1" - body-parser "1.19.0" - content-disposition "0.5.3" - content-type "~1.0.4" - cookie "0.4.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.2" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "~1.1.2" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.5" - qs "6.7.0" - range-parser "~1.2.1" - safe-buffer "5.1.2" - send "0.17.1" - serve-static "1.14.1" - setprototypeof "1.1.1" - statuses "~1.5.0" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -fast-glob@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.2.tgz#ade1a9d91148965d4bf7c51f72e1ca662d32e63d" - integrity sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" - merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" - -fastq@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.6.0.tgz#4ec8a38f4ac25f21492673adb7eae9cfef47d1c2" - integrity sha512-jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA== - dependencies: - reusify "^1.0.0" - -filewatcher@~3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/filewatcher/-/filewatcher-3.0.1.tgz#f4a1957355ddaf443ccd78a895f3d55e23c8a034" - integrity sha1-9KGVc1Xdr0Q8zXiolfPVXiPIoDQ= - dependencies: - debounce "^1.0.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.3" - statuses "~1.5.0" - unpipe "~1.0.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -get-caller-file@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= - -glob-parent@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" - integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== - dependencies: - is-glob "^4.0.1" - -glob@^7.1.3: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -graceful-fs@^4.1.2: - version "4.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" - integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== - -gray-matter@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.2.tgz#9aa379e3acaf421193fce7d2a28cebd4518ac454" - integrity sha512-7hB/+LxrOjq/dd8APlK0r24uL/67w7SkYnfwhNFwg/VDIGWGmduTDYf3WNstLW2fbbmRwrDGCVSJ2isuf2+4Hw== - dependencies: - js-yaml "^3.11.0" - kind-of "^6.0.2" - section-matter "^1.0.0" - strip-bom-string "^1.0.0" - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hosted-git-info@^2.1.4: - version "2.8.7" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.7.tgz#4d2e0d5248e1cfabc984b0f6a6d75fe36e679511" - integrity sha512-ChkjQtKJ3GI6SsI4O5jwr8q8EPrWCnxuc4Tbx+vRI5x6mDOpjKKltNo1lRlszw3xwgTOSns1ZRBiMmmwpcvLxg== - -http-errors@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" - integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-errors@~1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -immediate@~3.0.5: - version "3.0.6" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" - integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= - dependencies: - repeating "^2.0.0" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-expression@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-expression/-/is-expression-3.0.0.tgz#39acaa6be7fd1f3471dc42c7416e61c24317ac9f" - integrity sha1-Oayqa+f9HzRx3ELHQW5hwkMXrJ8= - dependencies: - acorn "~4.0.2" - object-assign "^4.0.1" - -is-extendable@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-finite@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" - integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-glob@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-promise@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= - -is-regex@^1.0.3: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" - integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== - dependencies: - has "^1.0.3" - -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -js-stringify@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db" - integrity sha1-Fzb939lyTyijaCrcYjCufk6Weds= - -js-yaml@^3.11.0: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jstransformer@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/jstransformer/-/jstransformer-1.0.0.tgz#ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3" - integrity sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM= - dependencies: - is-promise "^2.0.0" - promise "^7.0.1" - -kind-of@^3.0.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= - -lie@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" - integrity sha1-mkNrLMd0bKWd56QfpGmz77dr2H4= - dependencies: - immediate "~3.0.5" - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -localforage@^1.3.0: - version "1.7.3" - resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.7.3.tgz#0082b3ca9734679e1bd534995bdd3b24cf10f204" - integrity sha512-1TulyYfc4udS7ECSBT2vwJksWbkwwTX8BzeUIiq8Y07Riy7bDAAnxDaPU/tWyOVmQAcWJIEIFP9lPfBGqVoPgQ== - dependencies: - lie "3.1.1" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -lodash@^4.17.4: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== - -longest@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc= - -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - -meow@^3.3.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= - -merge2@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" - integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw== - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -mime-db@1.43.0: - version "1.43.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58" - integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ== - -mime-types@~2.1.24: - version "2.1.26" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06" - integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ== - dependencies: - mime-db "1.43.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - -minimist@^1.1.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= - -mkdirp@^0.5.1, mkdirp@~0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= - dependencies: - minimist "0.0.8" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - -nedb-promises@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nedb-promises/-/nedb-promises-4.0.1.tgz#4d0bd1553d045acca5d6713ad76eb97aa830b390" - integrity sha512-I6nVZ0zjjYGfja2UU8lDSEzjfQTS8bo+8jvn7apILpynYDKzLpl6YRfdPa+uRSUYDN9bH45wJ+gvRWcOjO2g5g== - dependencies: - nedb "^1.8.0" - -nedb@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/nedb/-/nedb-1.8.0.tgz#0e3502cd82c004d5355a43c9e55577bd7bd91d88" - integrity sha1-DjUCzYLABNU1WkPJ5VV3vXvZHYg= - dependencies: - async "0.2.10" - binary-search-tree "0.2.5" - localforage "^1.3.0" - mkdirp "~0.5.1" - underscore "~1.4.4" - -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== - -node-notifier@^5.4.0: - version "5.4.3" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" - integrity sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q== - dependencies: - growly "^1.3.0" - is-wsl "^1.1.0" - semver "^5.5.0" - shellwords "^0.1.1" - which "^1.3.0" - -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - dependencies: - ee-first "1.1.1" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -p-limit@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.2.tgz#61279b67721f5287aa1c13a9a7fbbc48c9291b1e" - integrity sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ== - dependencies: - p-try "^2.0.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -picomatch@^2.0.5, picomatch@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a" - integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA== - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -promise@^7.0.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== - dependencies: - asap "~2.0.3" - -proxy-addr@~2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" - integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== - dependencies: - forwarded "~0.1.2" - ipaddr.js "1.9.1" - -pug-attrs@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pug-attrs/-/pug-attrs-2.0.4.tgz#b2f44c439e4eb4ad5d4ef25cac20d18ad28cc336" - integrity sha512-TaZ4Z2TWUPDJcV3wjU3RtUXMrd3kM4Wzjbe3EWnSsZPsJ3LDI0F3yCnf2/W7PPFF+edUFQ0HgDL1IoxSz5K8EQ== - dependencies: - constantinople "^3.0.1" - js-stringify "^1.0.1" - pug-runtime "^2.0.5" - -pug-code-gen@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/pug-code-gen/-/pug-code-gen-2.0.2.tgz#ad0967162aea077dcf787838d94ed14acb0217c2" - integrity sha512-kROFWv/AHx/9CRgoGJeRSm+4mLWchbgpRzTEn8XCiwwOy6Vh0gAClS8Vh5TEJ9DBjaP8wCjS3J6HKsEsYdvaCw== - dependencies: - constantinople "^3.1.2" - doctypes "^1.1.0" - js-stringify "^1.0.1" - pug-attrs "^2.0.4" - pug-error "^1.3.3" - pug-runtime "^2.0.5" - void-elements "^2.0.1" - with "^5.0.0" - -pug-error@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/pug-error/-/pug-error-1.3.3.tgz#f342fb008752d58034c185de03602dd9ffe15fa6" - integrity sha512-qE3YhESP2mRAWMFJgKdtT5D7ckThRScXRwkfo+Erqga7dyJdY3ZquspprMCj/9sJ2ijm5hXFWQE/A3l4poMWiQ== - -pug-filters@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pug-filters/-/pug-filters-3.1.1.tgz#ab2cc82db9eeccf578bda89130e252a0db026aa7" - integrity sha512-lFfjNyGEyVWC4BwX0WyvkoWLapI5xHSM3xZJFUhx4JM4XyyRdO8Aucc6pCygnqV2uSgJFaJWW3Ft1wCWSoQkQg== - dependencies: - clean-css "^4.1.11" - constantinople "^3.0.1" - jstransformer "1.0.0" - pug-error "^1.3.3" - pug-walk "^1.1.8" - resolve "^1.1.6" - uglify-js "^2.6.1" - -pug-lexer@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/pug-lexer/-/pug-lexer-4.1.0.tgz#531cde48c7c0b1fcbbc2b85485c8665e31489cfd" - integrity sha512-i55yzEBtjm0mlplW4LoANq7k3S8gDdfC6+LThGEvsK4FuobcKfDAwt6V4jKPH9RtiE3a2Akfg5UpafZ1OksaPA== - dependencies: - character-parser "^2.1.1" - is-expression "^3.0.0" - pug-error "^1.3.3" - -pug-linker@^3.0.6: - version "3.0.6" - resolved "https://registry.yarnpkg.com/pug-linker/-/pug-linker-3.0.6.tgz#f5bf218b0efd65ce6670f7afc51658d0f82989fb" - integrity sha512-bagfuHttfQOpANGy1Y6NJ+0mNb7dD2MswFG2ZKj22s8g0wVsojpRlqveEQHmgXXcfROB2RT6oqbPYr9EN2ZWzg== - dependencies: - pug-error "^1.3.3" - pug-walk "^1.1.8" - -pug-load@^2.0.12: - version "2.0.12" - resolved "https://registry.yarnpkg.com/pug-load/-/pug-load-2.0.12.tgz#d38c85eb85f6e2f704dea14dcca94144d35d3e7b" - integrity sha512-UqpgGpyyXRYgJs/X60sE6SIf8UBsmcHYKNaOccyVLEuT6OPBIMo6xMPhoJnqtB3Q3BbO4Z3Bjz5qDsUWh4rXsg== - dependencies: - object-assign "^4.1.0" - pug-walk "^1.1.8" - -pug-parser@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/pug-parser/-/pug-parser-5.0.1.tgz#03e7ada48b6840bd3822f867d7d90f842d0ffdc9" - integrity sha512-nGHqK+w07p5/PsPIyzkTQfzlYfuqoiGjaoqHv1LjOv2ZLXmGX1O+4Vcvps+P4LhxZ3drYSljjq4b+Naid126wA== - dependencies: - pug-error "^1.3.3" - token-stream "0.0.1" - -pug-runtime@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/pug-runtime/-/pug-runtime-2.0.5.tgz#6da7976c36bf22f68e733c359240d8ae7a32953a" - integrity sha512-P+rXKn9un4fQY77wtpcuFyvFaBww7/91f3jHa154qU26qFAnOe6SW1CbIDcxiG5lLK9HazYrMCCuDvNgDQNptw== - -pug-strip-comments@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/pug-strip-comments/-/pug-strip-comments-1.0.4.tgz#cc1b6de1f6e8f5931cf02ec66cdffd3f50eaf8a8" - integrity sha512-i5j/9CS4yFhSxHp5iKPHwigaig/VV9g+FgReLJWWHEHbvKsbqL0oP/K5ubuLco6Wu3Kan5p7u7qk8A4oLLh6vw== - dependencies: - pug-error "^1.3.3" - -pug-walk@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/pug-walk/-/pug-walk-1.1.8.tgz#b408f67f27912f8c21da2f45b7230c4bd2a5ea7a" - integrity sha512-GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA== - -pug@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pug/-/pug-2.0.4.tgz#ee7682ec0a60494b38d48a88f05f3b0ac931377d" - integrity sha512-XhoaDlvi6NIzL49nu094R2NA6P37ijtgMDuWE+ofekDChvfKnzFal60bhSdiy8y2PBO6fmz3oMEIcfpBVRUdvw== - dependencies: - pug-code-gen "^2.0.2" - pug-filters "^3.1.1" - pug-lexer "^4.1.0" - pug-linker "^3.0.6" - pug-load "^2.0.12" - pug-parser "^5.0.1" - pug-runtime "^2.0.5" - pug-strip-comments "^1.0.4" - -qs@6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" - integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== - -range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" - integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== - dependencies: - bytes "3.1.0" - http-errors "1.7.2" - iconv-lite "0.4.24" - unpipe "1.0.0" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - -repeat-string@^1.5.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= - dependencies: - is-finite "^1.0.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -resolve@^1.0.0, resolve@^1.1.6, resolve@^1.10.0: - version "1.15.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8" - integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w== - dependencies: - path-parse "^1.0.6" - -reusify@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -right-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" - integrity sha1-YTObci/mo1FWiSENJOFMlhSGE+8= - dependencies: - align-text "^0.1.1" - -rimraf@^2.6.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -run-parallel@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" - integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== - -safe-buffer@5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -scope-css@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/scope-css/-/scope-css-1.2.1.tgz#c35768bc900cad030a3e0d663a818c0f6a57f40e" - integrity sha512-UjLRmyEYaDNiOS673xlVkZFlVCtckJR/dKgr434VMm7Lb+AOOqXKdAcY7PpGlJYErjXXJzKN7HWo4uRPiZZG0Q== - dependencies: - escaper "^2.5.3" - slugify "^1.3.1" - strip-css-comments "^3.0.0" - -section-matter@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" - integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== - dependencies: - extend-shallow "^2.0.1" - kind-of "^6.0.0" - -"semver@2 || 3 || 4 || 5", semver@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -send@0.17.1: - version "0.17.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" - integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== - dependencies: - debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "~1.7.2" - mime "1.6.0" - ms "2.1.1" - on-finished "~2.3.0" - range-parser "~1.2.1" - statuses "~1.5.0" - -serve-static@1.14.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" - integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.1" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -setprototypeof@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -shlex@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/shlex/-/shlex-2.0.1.tgz#f3dfa388400604928fdc2d50388f421b8895ddf6" - integrity sha512-XrweL4ORG4Y9E9VvqsAjQ0Dhr4oW3BP6d4IceL7EnRA5Y7KU+4wCFg9HMhFm7SxhVswKu9emOvblBr7J17Vqtg== - -showdown@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/showdown/-/showdown-1.9.1.tgz#134e148e75cd4623e09c21b0511977d79b5ad0ef" - integrity sha512-9cGuS382HcvExtf5AHk7Cb4pAeQQ+h0eTr33V1mu+crYWV4KvWAw6el92bDrqGEk5d46Ai/fhbEUwqJ/mTCNEA== - dependencies: - yargs "^14.2" - -signal-exit@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= - -slugify@^1.3.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.3.6.tgz#ba5fd6159b570fe4811d02ea9b1f4906677638c3" - integrity sha512-wA9XS475ZmGNlEnYYLPReSfuz/c3VQsEMoU43mi6OnKMCdbnFXd4/Yg7J0lBv8jkPolacMpOrWEaoYxuE1+hoQ== - -source-map-support@^0.5.12, source-map-support@^0.5.6: - version "0.5.16" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" - integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@~0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@~0.5.1: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -spdx-correct@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" - integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" - integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== - -spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" - integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -"statuses@>= 1.5.0 < 2", statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-bom-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" - integrity sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI= - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= - dependencies: - is-utf8 "^0.2.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-css-comments@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-css-comments/-/strip-css-comments-3.0.0.tgz#7a5625eff8a2b226cf8947a11254da96e13dae89" - integrity sha1-elYl7/iisibPiUehElTaluE9rok= - dependencies: - is-regexp "^1.0.0" - -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= - dependencies: - get-stdin "^4.0.1" - -strip-json-comments@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -to-fast-properties@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" - integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== - -token-stream@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/token-stream/-/token-stream-0.0.1.tgz#ceeefc717a76c4316f126d0b9dbaa55d7e7df01a" - integrity sha1-zu78cXp2xDFvEm0LnbqlXX598Bo= - -tree-kill@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" - integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= - -ts-node-dev@^1.0.0-pre.44: - version "1.0.0-pre.44" - resolved "https://registry.yarnpkg.com/ts-node-dev/-/ts-node-dev-1.0.0-pre.44.tgz#2f4d666088481fb9c4e4f5bc8f15995bd8b06ecb" - integrity sha512-M5ZwvB6FU3jtc70i5lFth86/6Qj5XR5nMMBwVxZF4cZhpO7XcbWw6tbNiJo22Zx0KfjEj9py5DANhwLOkPPufw== - dependencies: - dateformat "~1.0.4-1.2.3" - dynamic-dedupe "^0.3.0" - filewatcher "~3.0.0" - minimist "^1.1.3" - mkdirp "^0.5.1" - node-notifier "^5.4.0" - resolve "^1.0.0" - rimraf "^2.6.1" - source-map-support "^0.5.12" - tree-kill "^1.2.1" - ts-node "*" - tsconfig "^7.0.0" - -ts-node@*: - version "8.6.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.6.2.tgz#7419a01391a818fbafa6f826a33c1a13e9464e35" - integrity sha512-4mZEbofxGqLL2RImpe3zMJukvEvcO1XP8bj8ozBPySdCUXEcU5cIRwR0aM3R+VoZq7iXc8N86NC0FspGRqP4gg== - dependencies: - arg "^4.1.0" - diff "^4.0.1" - make-error "^1.1.1" - source-map-support "^0.5.6" - yn "3.1.1" - -tsconfig@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7" - integrity sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw== - dependencies: - "@types/strip-bom" "^3.0.0" - "@types/strip-json-comments" "0.0.30" - strip-bom "^3.0.0" - strip-json-comments "^2.0.0" - -type-is@~1.6.17, type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typescript@^3.8.2: - version "3.8.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.8.2.tgz#91d6868aaead7da74f493c553aeff76c0c0b1d5a" - integrity sha512-EgOVgL/4xfVrCMbhYKUQTdF37SQn4Iw73H5BgCrF1Abdun7Kwy/QZsE/ssAy0y4LxBbvua3PIbFsbRczWWnDdQ== - -uglify-js@^2.6.1: - version "2.8.29" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" - integrity sha1-KcVzMUgFe7Th913zW3qcty5qWd0= - dependencies: - source-map "~0.5.1" - yargs "~3.10.0" - optionalDependencies: - uglify-to-browserify "~1.0.0" - -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" - integrity sha1-bgkk1r2mta/jSeOabWMoUKD4grc= - -underscore@~1.4.4: - version "1.4.4" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.4.4.tgz#61a6a32010622afa07963bf325203cf12239d604" - integrity sha1-YaajIBBiKvoHljvzJSA88SI51gQ= - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -vary@^1, vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= - -void-elements@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" - integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w= - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -window-size@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - integrity sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0= - -with@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/with/-/with-5.1.1.tgz#fa4daa92daf32c4ea94ed453c81f04686b575dfe" - integrity sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4= - dependencies: - acorn "^3.1.0" - acorn-globals "^3.0.0" - -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - integrity sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8= - -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -xtend@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== - -yargs-parser@^15.0.0: - version "15.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.0.tgz#cdd7a97490ec836195f59f3f4dbe5ea9e8f75f08" - integrity sha512-xLTUnCMc4JhxrPEPUYD5IBR1mWCK/aT6+RJ/K29JY2y1vD+FhtgKK0AXRWvI262q3QSffAQuTouFIKUuHX89wQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs@^14.2: - version "14.2.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.2.tgz#2769564379009ff8597cdd38fba09da9b493c4b5" - integrity sha512-/4ld+4VV5RnrynMhPZJ/ZpOCGSCeghMykZ3BhdFBDa9Wy/RH6uEGNWDJog+aUlq+9OM1CFTgtYRW5Is1Po9NOA== - dependencies: - cliui "^5.0.0" - decamelize "^1.2.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^15.0.0" - -yargs@~3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - integrity sha1-9+572FfdfB0tOMDnTvvWgdFDH9E= - dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== diff --git a/web/frontend/.gitignore b/web/frontend/.gitignore deleted file mode 100644 index a0dddc6..0000000 --- a/web/frontend/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -.DS_Store -node_modules -/dist - -# local env files -.env.local -.env.*.local - -# Log files -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Editor directories and files -.idea -.vscode -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? diff --git a/web/frontend/babel.config.js b/web/frontend/babel.config.js deleted file mode 100644 index e955840..0000000 --- a/web/frontend/babel.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - presets: [ - '@vue/cli-plugin-babel/preset' - ] -} diff --git a/web/frontend/package.json b/web/frontend/package.json deleted file mode 100644 index 1724761..0000000 --- a/web/frontend/package.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "frontend", - "version": "0.1.0", - "private": true, - "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build" - }, - "dependencies": { - "axios": "^0.19.2", - "buefy": "^0.8.12", - "core-js": "^3.6.4", - "dayjs": "^1.8.21", - "vue": "^2.6.11", - "vue-class-component": "^7.2.2", - "vue-extend-layout": "^2.0.6", - "vue-meta": "^2.3.3", - "vue-property-decorator": "^8.3.0", - "vue-router": "^3.1.5" - }, - "devDependencies": { - "@vue/cli-plugin-babel": "~4.2.0", - "@vue/cli-plugin-router": "~4.2.0", - "@vue/cli-plugin-typescript": "~4.2.0", - "@vue/cli-service": "~4.2.0", - "prerender-spa-plugin": "^3.2.1", - "sass": "^1.25.0", - "sass-loader": "^8.0.2", - "typescript": "~3.7.5", - "vue-cli-plugin-layouts": "~1.0.2", - "vue-cli-plugin-prerender-spa": "~1.1.6", - "vue-cli-plugin-pug": "^1.0.7", - "vue-template-compiler": "^2.6.11" - }, - "browserslist": [ - "> 1%", - "last 2 versions" - ] -} diff --git a/web/frontend/public/index.html b/web/frontend/public/index.html deleted file mode 100644 index 39bdf80..0000000 --- a/web/frontend/public/index.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - ZhDiary - - - -
- - - diff --git a/web/frontend/src/App.vue b/web/frontend/src/App.vue deleted file mode 100644 index e9b712b..0000000 --- a/web/frontend/src/App.vue +++ /dev/null @@ -1,19 +0,0 @@ - - - - - diff --git a/web/frontend/src/assets/.gitkeep b/web/frontend/src/assets/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/web/frontend/src/components/Empty.vue b/web/frontend/src/components/Empty.vue deleted file mode 100644 index 5840535..0000000 --- a/web/frontend/src/components/Empty.vue +++ /dev/null @@ -1,11 +0,0 @@ - - - diff --git a/web/frontend/src/components/PostHeader.vue b/web/frontend/src/components/PostHeader.vue deleted file mode 100644 index 672bc0f..0000000 --- a/web/frontend/src/components/PostHeader.vue +++ /dev/null @@ -1,27 +0,0 @@ - - - diff --git a/web/frontend/src/components/PostTeaser.vue b/web/frontend/src/components/PostTeaser.vue deleted file mode 100644 index cce0fcf..0000000 --- a/web/frontend/src/components/PostTeaser.vue +++ /dev/null @@ -1,66 +0,0 @@ - - - - - diff --git a/web/frontend/src/global.ts b/web/frontend/src/global.ts deleted file mode 100644 index 5e263cc..0000000 --- a/web/frontend/src/global.ts +++ /dev/null @@ -1 +0,0 @@ -export const config = JSON.parse(process.env.VUE_APP_CONFIG!) diff --git a/web/frontend/src/layouts/default.vue b/web/frontend/src/layouts/default.vue deleted file mode 100644 index 330cddb..0000000 --- a/web/frontend/src/layouts/default.vue +++ /dev/null @@ -1,91 +0,0 @@ - - - - - diff --git a/web/frontend/src/main.ts b/web/frontend/src/main.ts deleted file mode 100644 index 8627fe1..0000000 --- a/web/frontend/src/main.ts +++ /dev/null @@ -1,15 +0,0 @@ -import Vue from 'vue' - -import App from './App.vue' -import router from './router' - -import './plugins/buefy' -import './plugins/meta' - -Vue.config.productionTip = false - -new Vue({ - router, - render: h => h(App), - mounted: () => document.dispatchEvent(new Event('x-app-rendered')) -}).$mount('#app') diff --git a/web/frontend/src/plugins/buefy.ts b/web/frontend/src/plugins/buefy.ts deleted file mode 100644 index 2540fd8..0000000 --- a/web/frontend/src/plugins/buefy.ts +++ /dev/null @@ -1,5 +0,0 @@ -import Vue from 'vue' -import Buefy from 'buefy' -import 'buefy/dist/buefy.css' - -Vue.use(Buefy) diff --git a/web/frontend/src/plugins/meta.ts b/web/frontend/src/plugins/meta.ts deleted file mode 100644 index b9ff774..0000000 --- a/web/frontend/src/plugins/meta.ts +++ /dev/null @@ -1,7 +0,0 @@ -import Vue from 'vue' -import VueMeta from 'vue-meta' - -Vue.use(VueMeta, { - // optional pluginOptions - refreshOnceOnNavigation: true -}) diff --git a/web/frontend/src/router/index.ts b/web/frontend/src/router/index.ts deleted file mode 100644 index cbb498f..0000000 --- a/web/frontend/src/router/index.ts +++ /dev/null @@ -1,47 +0,0 @@ -import Vue from 'vue' -import VueRouter from 'vue-router' - -Vue.use(VueRouter) - -const router = new VueRouter({ - mode: 'history', - routes: [ - { - path: '/', - component: () => import('../views/QueryView.vue'), - meta: { - layout: 'default' - } - }, - { - path: '/:page', - component: () => import('../views/QueryView.vue'), - meta: { - layout: 'default' - } - }, - { - path: '/tag/:tag', - component: () => import('../views/QueryView.vue'), - meta: { - layout: 'default' - } - }, - { - path: '/tag/:tag/:page', - component: () => import('../views/QueryView.vue'), - meta: { - layout: 'default' - } - }, - { - path: '/posts/*', - component: () => import('../views/PostView.vue'), - meta: { - layout: 'default' - } - } - ] -}) - -export default router diff --git a/web/frontend/src/shims-tsx.d.ts b/web/frontend/src/shims-tsx.d.ts deleted file mode 100644 index c656c68..0000000 --- a/web/frontend/src/shims-tsx.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import Vue, { VNode } from 'vue' - -declare global { - namespace JSX { - // tslint:disable no-empty-interface - interface Element extends VNode {} - // tslint:disable no-empty-interface - interface ElementClass extends Vue {} - interface IntrinsicElements { - [elem: string]: any - } - } -} diff --git a/web/frontend/src/shims-vue.d.ts b/web/frontend/src/shims-vue.d.ts deleted file mode 100644 index d9f24fa..0000000 --- a/web/frontend/src/shims-vue.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -declare module '*.vue' { - import Vue from 'vue' - export default Vue -} diff --git a/web/frontend/src/utils.ts b/web/frontend/src/utils.ts deleted file mode 100644 index 95efd41..0000000 --- a/web/frontend/src/utils.ts +++ /dev/null @@ -1,11 +0,0 @@ -import axios from 'axios' - -export function normalizeArray (a: T | T[]): T | undefined { - return Array.isArray(a) ? a[0] : a -} - -export const isRendered = !!document.getElementById('app')!.getAttribute('data-server-rendered') - -export const api = axios.create({ - baseURL: isRendered ? '/api' : 'http://localhost:48000/api' -}) diff --git a/web/frontend/src/views/PostView.vue b/web/frontend/src/views/PostView.vue deleted file mode 100644 index efbc99e..0000000 --- a/web/frontend/src/views/PostView.vue +++ /dev/null @@ -1,148 +0,0 @@ - - - - - diff --git a/web/frontend/src/views/QueryView.vue b/web/frontend/src/views/QueryView.vue deleted file mode 100644 index f162725..0000000 --- a/web/frontend/src/views/QueryView.vue +++ /dev/null @@ -1,156 +0,0 @@ - - - diff --git a/web/frontend/tsconfig.json b/web/frontend/tsconfig.json deleted file mode 100644 index b57578e..0000000 --- a/web/frontend/tsconfig.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "compilerOptions": { - "target": "esnext", - "module": "esnext", - "strict": true, - "jsx": "preserve", - "importHelpers": true, - "moduleResolution": "node", - "experimentalDecorators": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "sourceMap": true, - "baseUrl": ".", - "types": [ - "webpack-env" - ], - "paths": { - "@/*": [ - "src/*" - ] - }, - "lib": [ - "esnext", - "dom", - "dom.iterable", - "scripthost" - ] - }, - "include": [ - "src/**/*.ts", - "src/**/*.tsx", - "src/**/*.vue", - "tests/**/*.ts", - "tests/**/*.tsx" - ], - "exclude": [ - "node_modules" - ] -} diff --git a/web/frontend/vue.config.js b/web/frontend/vue.config.js deleted file mode 100644 index a7318b2..0000000 --- a/web/frontend/vue.config.js +++ /dev/null @@ -1,21 +0,0 @@ -process.env.VUE_APP_CONFIG = JSON.stringify(require('../../data/config.json')) - -module.exports = { - pluginOptions: { - prerenderSpa: { - registry: undefined, - renderRoutes: [ - '/' - ], - useRenderEvent: true, - headless: true, - onlyProduction: true, - postProcess: route => { - route.html = route.html - .replace(/