From 74dd23e92f75646f99786a69e5de357f49d7192d Mon Sep 17 00:00:00 2001 From: Gadzhi Kharkharov Date: Thu, 7 Sep 2023 17:39:56 +0300 Subject: [PATCH 1/4] upgrade for marked v8 --- deno.lock | 135 +++++++++++++++++++++++++++++++++++++++++++++++++ deps/marked.ts | 2 +- deps/std.ts | 12 ++--- markdown.ts | 52 ++++++++----------- 4 files changed, 163 insertions(+), 38 deletions(-) diff --git a/deno.lock b/deno.lock index 2be7588..29deffd 100644 --- a/deno.lock +++ b/deno.lock @@ -321,6 +321,124 @@ "https://deno.land/std@0.200.0/yaml/schema/json.ts": "5f41dd7c2f1ad545ef6238633ce9ee3d444dfc5a18101e1768bd5504bf90e5e5", "https://deno.land/std@0.200.0/yaml/schema/mod.ts": "4472e827bab5025e92bc2eb2eeefa70ecbefc64b2799b765c69af84822efef32", "https://deno.land/std@0.200.0/yaml/type.ts": "1aabb8e0a3f4229ce0a3526256f68826d9bdf65a36c8a3890ead8011fcba7670", + "https://deno.land/std@0.201.0/assert/assert.ts": "9a97dad6d98c238938e7540736b826440ad8c1c1e54430ca4c4e623e585607ee", + "https://deno.land/std@0.201.0/assert/assertion_error.ts": "4d0bde9b374dfbcbe8ac23f54f567b77024fb67dbb1906a852d67fe050d42f56", + "https://deno.land/std@0.201.0/async/deferred.ts": "42790112f36a75a57db4a96d33974a936deb7b04d25c6084a9fa8a49f135def8", + "https://deno.land/std@0.201.0/async/delay.ts": "a6142eb44cdd856b645086af2b811b1fcce08ec06bb7d50969e6a872ee9b8659", + "https://deno.land/std@0.201.0/bytes/concat.ts": "d26d6f3d7922e6d663dacfcd357563b7bf4a380ce5b9c2bbe0c8586662f25ce2", + "https://deno.land/std@0.201.0/bytes/copy.ts": "939d89e302a9761dcf1d9c937c7711174ed74c59eef40a1e4569a05c9de88219", + "https://deno.land/std@0.201.0/collections/_utils.ts": "5114abc026ddef71207a79609b984614e66a63a4bda17d819d56b0e72c51527e", + "https://deno.land/std@0.201.0/collections/deep_merge.ts": "9db788ba56cb05b65c77166b789e58e125dff159b7f41bf4d19dc1cba19ecb8b", + "https://deno.land/std@0.201.0/flags/mod.ts": "0948466fc437f017f00c0b972a422b3dc3317a790bcf326429d23182977eaf9f", + "https://deno.land/std@0.201.0/front_matter/any.ts": "e69b749d9690d0c914af607e46c816f7389c35df7a8990f1c230874628e97b38", + "https://deno.land/std@0.201.0/front_matter/mod.ts": "f4a40ed1d5c41af2e664a661879c9dc0c9ca49199f6406da8b62c0aa2a2fb640", + "https://deno.land/std@0.201.0/fs/_util.ts": "fbf57dcdc9f7bc8128d60301eece608246971a7836a3bb1e78da75314f08b978", + "https://deno.land/std@0.201.0/fs/copy.ts": "23cc1c465babe5ca4d69778821e2f8addc44593e30a5ca0b902b3784eed75bb6", + "https://deno.land/std@0.201.0/fs/empty_dir.ts": "2e52cd4674d18e2e007175c80449fc3d263786a1361e858d9dfa9360a6581b47", + "https://deno.land/std@0.201.0/fs/ensure_dir.ts": "dc64c4c75c64721d4e3fb681f1382f803ff3d2868f08563ff923fdd20d071c40", + "https://deno.land/std@0.201.0/fs/ensure_file.ts": "39ac83cc283a20ec2735e956adf5de3e8a3334e0b6820547b5772f71c49ae083", + "https://deno.land/std@0.201.0/fs/ensure_link.ts": "c15e69c48556d78aae31b83e0c0ece04b7b8bc0951412f5b759aceb6fde7f0ac", + "https://deno.land/std@0.201.0/fs/ensure_symlink.ts": "b389c8568f0656d145ac7ece472afe710815cccbb2ebfd19da7978379ae143fe", + "https://deno.land/std@0.201.0/fs/eol.ts": "f1f2eb348a750c34500741987b21d65607f352cf7205f48f4319d417fff42842", + "https://deno.land/std@0.201.0/fs/exists.ts": "cb59a853d84871d87acab0e7936a4dac11282957f8e195102c5a7acb42546bb8", + "https://deno.land/std@0.201.0/fs/expand_glob.ts": "52b8b6f5b1fa585c348250da1c80ce5d820746cb4a75d874b3599646f677d3a7", + "https://deno.land/std@0.201.0/fs/mod.ts": "bc3d0acd488cc7b42627044caf47d72019846d459279544e1934418955ba4898", + "https://deno.land/std@0.201.0/fs/move.ts": "b4f8f46730b40c32ea3c0bc8eb0fd0e8139249a698883c7b3756424cf19785c9", + "https://deno.land/std@0.201.0/fs/walk.ts": "a16146724a6aaf9efdb92023a74e9805195c3469900744ce5de4113b07b29779", + "https://deno.land/std@0.201.0/http/server.ts": "1b2403b3c544c0624ad23e8ca4e05877e65380d9e0d75d04957432d65c3d5f41", + "https://deno.land/std@0.201.0/io/buffer.ts": "4d6883daeb2e698579c4064170515683d69f40f3de019bfe46c5cf31e74ae793", + "https://deno.land/std@0.201.0/path/_basename.ts": "057d420c9049821f983f784fd87fa73ac471901fb628920b67972b0f44319343", + "https://deno.land/std@0.201.0/path/_constants.ts": "e49961f6f4f48039c0dfed3c3f93e963ca3d92791c9d478ac5b43183413136e0", + "https://deno.land/std@0.201.0/path/_dirname.ts": "355e297236b2218600aee7a5301b937204c62e12da9db4b0b044993d9e658395", + "https://deno.land/std@0.201.0/path/_extname.ts": "eaaa5aae1acf1f03254d681bd6a8ce42a9cb5b7ff2213a9d4740e8ab31283664", + "https://deno.land/std@0.201.0/path/_format.ts": "4a99270d6810f082e614309164fad75d6f1a483b68eed97c830a506cc589f8b4", + "https://deno.land/std@0.201.0/path/_from_file_url.ts": "6eadfae2e6f63ad9ee46b26db4a1b16583055c0392acedfb50ed2fc694b6f581", + "https://deno.land/std@0.201.0/path/_interface.ts": "6471159dfbbc357e03882c2266d21ef9afdb1e4aa771b0545e90db58a0ba314b", + "https://deno.land/std@0.201.0/path/_is_absolute.ts": "05dac10b5e93c63198b92e3687baa2be178df5321c527dc555266c0f4f51558c", + "https://deno.land/std@0.201.0/path/_join.ts": "815f5e85b042285175b1492dd5781240ce126c23bd97bad6b8211fe7129c538e", + "https://deno.land/std@0.201.0/path/_normalize.ts": "a19ec8706b2707f9dd974662a5cd89fad438e62ab1857e08b314a8eb49a34d81", + "https://deno.land/std@0.201.0/path/_os.ts": "d932f56d41e4f6a6093d56044e29ce637f8dcc43c5a90af43504a889cf1775e3", + "https://deno.land/std@0.201.0/path/_parse.ts": "0f9b0ff43682dd9964eb1c4398610c4e165d8db9d3ac9d594220217adf480cfa", + "https://deno.land/std@0.201.0/path/_relative.ts": "27bdeffb5311a47d85be26d37ad1969979359f7636c5cd9fcf05dcd0d5099dc5", + "https://deno.land/std@0.201.0/path/_resolve.ts": "7a3616f1093735ed327e758313b79c3c04ea921808ca5f19ddf240cb68d0adf6", + "https://deno.land/std@0.201.0/path/_to_file_url.ts": "a141e4a525303e1a3a0c0571fd024552b5f3553a2af7d75d1ff3a503dcbb66d8", + "https://deno.land/std@0.201.0/path/_to_namespaced_path.ts": "0d5f4caa2ed98ef7a8786286df6af804b50e38859ae897b5b5b4c8c5930a75c8", + "https://deno.land/std@0.201.0/path/_util.ts": "4e191b1bac6b3bf0c31aab42e5ca2e01a86ab5a0d2e08b75acf8585047a86221", + "https://deno.land/std@0.201.0/path/basename.ts": "bdfa5a624c6a45564dc6758ef2077f2822978a6dbe77b0a3514f7d1f81362930", + "https://deno.land/std@0.201.0/path/common.ts": "ee7505ab01fd22de3963b64e46cff31f40de34f9f8de1fff6a1bd2fe79380000", + "https://deno.land/std@0.201.0/path/dirname.ts": "b6533f4ee4174a526dec50c279534df5345836dfdc15318400b08c62a62a39dd", + "https://deno.land/std@0.201.0/path/extname.ts": "62c4b376300795342fe1e4746c0de518b4dc9c4b0b4617bfee62a2973a9555cf", + "https://deno.land/std@0.201.0/path/format.ts": "110270b238514dd68455a4c54956215a1aff7e37e22e4427b7771cefe1920aa5", + "https://deno.land/std@0.201.0/path/from_file_url.ts": "9f5cb58d58be14c775ec2e57fc70029ac8b17ed3bd7fe93e475b07280adde0ac", + "https://deno.land/std@0.201.0/path/glob.ts": "593e2c3573883225c25c5a21aaa8e9382a696b8e175ea20a3b6a1471ad17aaed", + "https://deno.land/std@0.201.0/path/is_absolute.ts": "0b92eb35a0a8780e9f16f16bb23655b67dace6a8e0d92d42039e518ee38103c1", + "https://deno.land/std@0.201.0/path/join.ts": "31c5419f23d91655b08ec7aec403f4e4cd1a63d39e28f6e42642ea207c2734f8", + "https://deno.land/std@0.201.0/path/mod.ts": "6e1efb0b13121463aedb53ea51dabf5639a3172ab58c89900bbb72b486872532", + "https://deno.land/std@0.201.0/path/normalize.ts": "6ea523e0040979dd7ae2f1be5bf2083941881a252554c0f32566a18b03021955", + "https://deno.land/std@0.201.0/path/parse.ts": "be8de342bb9e1924d78dc4d93c45215c152db7bf738ec32475560424b119b394", + "https://deno.land/std@0.201.0/path/posix.ts": "0a1c1952d132323a88736d03e92bd236f3ed5f9f079e5823fae07c8d978ee61b", + "https://deno.land/std@0.201.0/path/relative.ts": "8bedac226afd360afc45d451a6c29fabceaf32978526bcb38e0c852661f66c61", + "https://deno.land/std@0.201.0/path/resolve.ts": "133161e4949fc97f9ca67988d51376b0f5eef8968a6372325ab84d39d30b80dc", + "https://deno.land/std@0.201.0/path/separator.ts": "40a3e9a4ad10bef23bc2cd6c610291b6c502a06237c2c4cd034a15ca78dedc1f", + "https://deno.land/std@0.201.0/path/to_file_url.ts": "00e6322373dd51ad109956b775e4e72e5f9fa68ce2c6b04e4af2a6eed3825d31", + "https://deno.land/std@0.201.0/path/to_namespaced_path.ts": "1b1db3055c343ab389901adfbda34e82b7386bcd1c744d54f9c1496ee0fd0c3d", + "https://deno.land/std@0.201.0/path/win32.ts": "8b3f80ef7a462511d5e8020ff490edcaa0a0d118f1b1e9da50e2916bdd73f9dd", + "https://deno.land/std@0.201.0/streams/_common.ts": "3b2c1f0287ce2ad51fff4091a7d0f48375c85b0ec341468e76d5ac13bb0014dd", + "https://deno.land/std@0.201.0/streams/buffer.ts": "6cd773d22cf21bb988a98cc551b5abfc4c3b03516f93eaa3fb6f2f6e16032deb", + "https://deno.land/std@0.201.0/streams/byte_slice_stream.ts": "c46d7c74836fc8c1a9acd9fe211cbe1bbaaee1b36087c834fb03af4991135c3a", + "https://deno.land/std@0.201.0/streams/copy.ts": "75cbc795ff89291df22ddca5252de88b2e16d40c85d02840593386a8a1454f71", + "https://deno.land/std@0.201.0/streams/delimiter_stream.ts": "a676837e8bdaa94502fe3d8cae57fbf54697801ae61cefbaf39fb7ab64169d2a", + "https://deno.land/std@0.201.0/streams/early_zip_readable_streams.ts": "4005fa74162b943f79899e5d7cb96adcbc0a6b867f9144974ed12d30e0a556e1", + "https://deno.land/std@0.201.0/streams/iterate_reader.ts": "bbec1d45c2df2c0c5920bad0549351446fdc8e0886d99e95959b259dbcdb6072", + "https://deno.land/std@0.201.0/streams/limited_bytes_transform_stream.ts": "05dc592ffaab83257494d22dd53917e56243c26e5e3129b3f13ddbbbc4785048", + "https://deno.land/std@0.201.0/streams/limited_transform_stream.ts": "d69ab790232c1b86f53621ad41ef03c235f2abb4b7a1cd51960ad6e12ee55e38", + "https://deno.land/std@0.201.0/streams/merge_readable_streams.ts": "dc2db0cbf1b14d999aa2aa2a2a1ba24ce58953878f29845ed9319321d0a01fab", + "https://deno.land/std@0.201.0/streams/mod.ts": "206c718cebeba0ea690be032f6095a8fd079d4168ad7eb3d6e1b6d35b8ee4f42", + "https://deno.land/std@0.201.0/streams/read_all.ts": "ee319772fb0fd28302f97343cc48dfcf948f154fd0d755d8efe65814b70533be", + "https://deno.land/std@0.201.0/streams/readable_stream_from_reader.ts": "9bc9e71f0ddad557daa7035daca052ca840e0a45e9d1d467d40afcf2c78933fb", + "https://deno.land/std@0.201.0/streams/reader_from_iterable.ts": "c2d655262d1f6593b49b494430815c273a272b4804e4d07f11987813fbbb9ef1", + "https://deno.land/std@0.201.0/streams/reader_from_stream_reader.ts": "fa4971e5615a010e49492c5d1688ca1a4d17472a41e98b498ab89a64ebd7ac73", + "https://deno.land/std@0.201.0/streams/text_delimiter_stream.ts": "f0dc8ff953a8a77f0d1fa8db1fee62de817f36e20d79b00b1362847e30fbdd90", + "https://deno.land/std@0.201.0/streams/text_line_stream.ts": "0f2c4b33a5fdb2476f2e060974cba1347cefe99a4af33c28a57524b1a34750fa", + "https://deno.land/std@0.201.0/streams/to_transform_stream.ts": "50af06140c414090df8c3879f46bed4043a5d73caa60352c0c9682a88ec7a8c9", + "https://deno.land/std@0.201.0/streams/writable_stream_from_writer.ts": "c8f6b8525089c7db5a94cffe30d2be11f77ec9a92492644461c736ffc29f68f1", + "https://deno.land/std@0.201.0/streams/write_all.ts": "aec90152978581ea62d56bb53a5cbf487e6a89c902f87c5969681ffbdf32b998", + "https://deno.land/std@0.201.0/streams/writer_from_stream_writer.ts": "07c7ee025151a190f37fc42cbb01ff93afc949119ebddc6e0d0df14df1bf6950", + "https://deno.land/std@0.201.0/streams/zip_readable_streams.ts": "5639c8fea8c21d7dab6f34edcf3d08218b7e548a197f7fd79a3a995305a81e9f", + "https://deno.land/std@0.201.0/toml/_parser.ts": "63d68503fc4e22dcc6b677126765e67fe570e62c86199874efd8b6c976dc2679", + "https://deno.land/std@0.201.0/toml/parse.ts": "e900bafdf35d802519842a303e07a62ea5282186960b3474e8083509ab1c7f0d", + "https://deno.land/std@0.201.0/yaml/_error.ts": "b59e2c76ce5a47b1b9fa0ff9f96c1dd92ea1e1b17ce4347ece5944a95c3c1a84", + "https://deno.land/std@0.201.0/yaml/_loader/loader.ts": "63ec7f0a265dbbabc54b25a4beefff7650e205160a2d75c7d8f8363b5f84851a", + "https://deno.land/std@0.201.0/yaml/_loader/loader_state.ts": "0841870b467169269d7c2dfa75cd288c319bc06f65edd9e42c29e5fced91c7a4", + "https://deno.land/std@0.201.0/yaml/_mark.ts": "dcd8585dee585e024475e9f3fe27d29740670fb64ebb970388094cad0fc11d5d", + "https://deno.land/std@0.201.0/yaml/_state.ts": "ef03d55ec235d48dcfbecc0ab3ade90bfae69a61094846e08003421c2cf5cfc6", + "https://deno.land/std@0.201.0/yaml/_type/binary.ts": "24d49614463a7339a8a16d894919c2ec18a10588ae360ec352093b60e2cc8b0d", + "https://deno.land/std@0.201.0/yaml/_type/bool.ts": "5bfa75da84343d45347b521ba4e5aeace9fe6f53447405290d53315a3fc20e66", + "https://deno.land/std@0.201.0/yaml/_type/float.ts": "056bd3cb9c5586238b20517511014fb24b0e36f98f9f6073e12da308b6b9808a", + "https://deno.land/std@0.201.0/yaml/_type/function.ts": "ff574fe84a750695302864e1c31b93f12d14ada4bde79a5f93197fc33ad17471", + "https://deno.land/std@0.201.0/yaml/_type/int.ts": "563ad074f0fa7aecf6b6c3d84135bcc95a8269dcc15de878de20ce868fd773fa", + "https://deno.land/std@0.201.0/yaml/_type/map.ts": "7b105e4ab03a361c61e7e335a0baf4d40f06460b13920e5af3fb2783a1464000", + "https://deno.land/std@0.201.0/yaml/_type/merge.ts": "8192bf3e4d637f32567917f48bb276043da9cf729cf594e5ec191f7cd229337e", + "https://deno.land/std@0.201.0/yaml/_type/mod.ts": "060e2b3d38725094b77ea3a3f05fc7e671fced8e67ca18e525be98c4aa8f4bbb", + "https://deno.land/std@0.201.0/yaml/_type/nil.ts": "606e8f0c44d73117c81abec822f89ef81e40f712258c74f186baa1af659b8887", + "https://deno.land/std@0.201.0/yaml/_type/omap.ts": "cfe59a294726f5cea705c39a61fd2b08199cf48f4ccd6b040cb550ec0f38d0a1", + "https://deno.land/std@0.201.0/yaml/_type/pairs.ts": "0032fdfe57558d21696a4f8cf5b5cfd1f698743177080affc18629685c905666", + "https://deno.land/std@0.201.0/yaml/_type/regexp.ts": "1ce118de15b2da43b4bd8e4395f42d448b731acf3bdaf7c888f40789f9a95f8b", + "https://deno.land/std@0.201.0/yaml/_type/seq.ts": "95333abeec8a7e4d967b8c8328b269e342a4bbdd2585395549b9c4f58c8533a2", + "https://deno.land/std@0.201.0/yaml/_type/set.ts": "f28ba44e632ef2a6eb580486fd47a460445eeddbdf1dbc739c3e62486f566092", + "https://deno.land/std@0.201.0/yaml/_type/str.ts": "a67a3c6e429d95041399e964015511779b1130ea5889fa257c48457bd3446e31", + "https://deno.land/std@0.201.0/yaml/_type/timestamp.ts": "706ea80a76a73e48efaeb400ace087da1f927647b53ad6f754f4e06d51af087f", + "https://deno.land/std@0.201.0/yaml/_type/undefined.ts": "94a316ca450597ccbc6750cbd79097ad0d5f3a019797eed3c841a040c29540ba", + "https://deno.land/std@0.201.0/yaml/_utils.ts": "26b311f0d42a7ce025060bd6320a68b50e52fd24a839581eb31734cd48e20393", + "https://deno.land/std@0.201.0/yaml/parse.ts": "1fbbda572bf3fff578b6482c0d8b85097a38de3176bf3ab2ca70c25fb0c960ef", + "https://deno.land/std@0.201.0/yaml/schema.ts": "96908b78dc50c340074b93fc1598d5e7e2fe59103f89ff81e5a49b2dedf77a67", + "https://deno.land/std@0.201.0/yaml/schema/core.ts": "fa406f18ceedc87a50e28bb90ec7a4c09eebb337f94ef17468349794fa828639", + "https://deno.land/std@0.201.0/yaml/schema/default.ts": "0047e80ae8a4a93293bc4c557ae8a546aabd46bb7165b9d9b940d57b4d88bde9", + "https://deno.land/std@0.201.0/yaml/schema/extended.ts": "0784416bf062d20a1626b53c03380e265b3e39b9409afb9f4cb7d659fd71e60d", + "https://deno.land/std@0.201.0/yaml/schema/failsafe.ts": "d219ab5febc43f770917d8ec37735a4b1ad671149846cbdcade767832b42b92b", + "https://deno.land/std@0.201.0/yaml/schema/json.ts": "5f41dd7c2f1ad545ef6238633ce9ee3d444dfc5a18101e1768bd5504bf90e5e5", + "https://deno.land/std@0.201.0/yaml/schema/mod.ts": "4472e827bab5025e92bc2eb2eeefa70ecbefc64b2799b765c69af84822efef32", + "https://deno.land/std@0.201.0/yaml/type.ts": "1aabb8e0a3f4229ce0a3526256f68826d9bdf65a36c8a3890ead8011fcba7670", "https://deno.land/x/deepmergets@v5.1.0/dist/deno/actions.ts": "fb4c0cb491c1dda0fedce332ed8dc6e3a15d7ad3cdc27a41b691b5ce28d7b77e", "https://deno.land/x/deepmergets@v5.1.0/dist/deno/deepmerge-into.ts": "10f1c8699ab753ddfec2c38b95e8d9963b1c55654481d317882e27b707fa950d", "https://deno.land/x/deepmergets@v5.1.0/dist/deno/deepmerge.ts": "b63c61a97b619dafed8e8c4824d3dca30ca0d818be74d0a12d3e5aa222f3ae47", @@ -350,10 +468,12 @@ "@twind/preset-typography@1.0.7": "@twind/preset-typography@1.0.7_@twind+core@1.1.3", "feed@4.2.2": "feed@4.2.2", "highlight.js@11.8.0": "highlight.js@11.8.0", + "marked-gfm-heading-id": "marked-gfm-heading-id@3.0.7_marked@5.1.0", "marked@5.1.0": "marked@5.1.0", "marked@6.0.0": "marked@6.0.0", "marked@7.0.4": "marked@7.0.4", "marked@7.0.5": "marked@7.0.5", + "marked@8.0.1": "marked@8.0.1", "preact": "preact@10.16.0", "preact-render-to-string": "preact-render-to-string@6.1.0_preact@10.15.1", "preact-render-to-string@6.1.0": "preact-render-to-string@6.1.0_preact@10.15.1", @@ -411,10 +531,21 @@ "xml-js": "xml-js@1.6.11" } }, + "github-slugger@2.0.0": { + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "dependencies": {} + }, "highlight.js@11.8.0": { "integrity": "sha512-MedQhoqVdr0U6SSnWPzfiadUcDHfN/Wzq25AkXiQv9oiOO/sG0S7XkvpFIqWBl9Yq1UYyYOOVORs5UW2XlPyzg==", "dependencies": {} }, + "marked-gfm-heading-id@3.0.7_marked@5.1.0": { + "integrity": "sha512-8JtFnp8/50qwpwwt446Uv4Ohy0jDLNGnAB7sWln7SLQcQQV7+K3qlMMwYupELz9cZvKKiRqXHEGNopcEvxM2ew==", + "dependencies": { + "github-slugger": "github-slugger@2.0.0", + "marked": "marked@5.1.0" + } + }, "marked@5.1.0": { "integrity": "sha512-z3/nBe7aTI8JDszlYLk7dDVNpngjw0o1ZJtrA9kIfkkHcIF+xH7mO23aISl4WxP83elU+MFROgahqdpd05lMEQ==", "dependencies": {} @@ -431,6 +562,10 @@ "integrity": "sha512-lwNAFTfXgqpt/XvK17a/8wY9/q6fcSPZT1aP6QW0u74VwaJF/Z9KbRcX23sWE4tODM+AolJNcUtErTkgOeFP/Q==", "dependencies": {} }, + "marked@8.0.1": { + "integrity": "sha512-eEbeEb/mJwh+sNLEhHOWtxMgjN/NEwZUBs1nkiIH2sTQTq07KmPMQ48ihyvo5+Ya56spVOPhunfGr6406crCVA==", + "dependencies": {} + }, "preact-render-to-string@6.1.0_preact@10.15.1": { "integrity": "sha512-/AsKU4Q4R8r4aKwwNQrkQQNUVEDmTeZr6IwesDffobFRPcTk4dSQrfo1VOcXjtlcUss6QYEe7JShUGbQIhaw+A==", "dependencies": { diff --git a/deps/marked.ts b/deps/marked.ts index 7c95854..6225dd2 100644 --- a/deps/marked.ts +++ b/deps/marked.ts @@ -1 +1 @@ -export { marked } from "npm:marked@7.0.5"; +export { marked } from "npm:marked@8.0.1"; diff --git a/deps/std.ts b/deps/std.ts index 393b15c..0ecbfe2 100644 --- a/deps/std.ts +++ b/deps/std.ts @@ -1,9 +1,9 @@ -export { parse as flagsParse } from "https://deno.land/std@0.200.0/flags/mod.ts"; +export { parse as flagsParse } from "https://deno.land/std@0.201.0/flags/mod.ts"; export { extract as fmExtract, test as fmTest, -} from "https://deno.land/std@0.200.0/front_matter/any.ts"; +} from "https://deno.land/std@0.201.0/front_matter/any.ts"; export { emptyDirSync, @@ -11,9 +11,9 @@ export { ensureDirSync, walk, type WalkEntry, -} from "https://deno.land/std@0.200.0/fs/mod.ts"; +} from "https://deno.land/std@0.201.0/fs/mod.ts"; -export { serve as httpServe } from "https://deno.land/std@0.200.0/http/server.ts"; +export { serve as httpServe } from "https://deno.land/std@0.201.0/http/server.ts"; export { basename, @@ -23,6 +23,6 @@ export { isAbsolute, join, relative, -} from "https://deno.land/std@0.200.0/path/mod.ts"; +} from "https://deno.land/std@0.201.0/path/mod.ts"; -export { readableStreamFromReader } from "https://deno.land/std@0.200.0/streams/mod.ts"; +export { readableStreamFromReader } from "https://deno.land/std@0.201.0/streams/mod.ts"; diff --git a/markdown.ts b/markdown.ts index 15bb9eb..556300a 100644 --- a/markdown.ts +++ b/markdown.ts @@ -1,5 +1,6 @@ import { hljs } from "./deps/hljs.ts"; import { marked } from "./deps/marked.ts"; +import { slug as slugify } from "./deps/slug.ts"; import { dirname, extname, isAbsolute, join } from "./deps/std.ts"; import { @@ -34,12 +35,9 @@ const toInternalLink = (opts: { currentPath: string; isDirIndex?: boolean; }): string => { - const cleanPathname = - opts.parsed.pathname === "" - ? "" - : withoutTrailingSlash( - opts.parsed.pathname.replace(extname(opts.parsed.pathname), "") - ); + const cleanPathname = opts.parsed.pathname === "" ? "" : withoutTrailingSlash( + opts.parsed.pathname.replace(extname(opts.parsed.pathname), ""), + ); let internalHref: string; if (isAbsolute(cleanPathname)) { @@ -57,14 +55,13 @@ const toInternalLink = (opts: { resolved = withoutTrailingSlash(joined.replace(/\/index$/i, "")); } - internalHref = - resolved === "" - ? resolved + opts.parsed.hash - : withLeadingSlash(resolved) + opts.parsed.hash; + internalHref = resolved === "" + ? resolved + opts.parsed.hash + : withLeadingSlash(resolved) + opts.parsed.hash; if (resolved !== "") { opts.internalLinks.add( - new URL(withoutLeadingSlash(internalHref), opts.baseUrl) + new URL(withoutLeadingSlash(internalHref), opts.baseUrl), ); } } @@ -76,9 +73,9 @@ const toInternalLink = (opts: { // console.log(prefixedHref); - return `${ - opts.text - }`; + return `${opts.text}`; }; export const parseMarkdown = ({ @@ -96,14 +93,13 @@ export const parseMarkdown = ({ const headings: Array = []; const renderer = new marked.Renderer(); const tokens = marked.lexer(text); - const slugger = new marked.Slugger(); for (const [_index, token] of tokens.entries()) { if (token.type === "heading") { headings.push({ text: token.text, level: token.depth, - slug: slugger.slug(token.text), + slug: slugify(token.text), }); } } @@ -125,23 +121,22 @@ export const parseMarkdown = ({ return parsed.protocol !== undefined || parsed.pathname.startsWith("mailto") ? toExternalLink(href, title, text) : toInternalLink({ - title, - text, - parsed, - baseUrl, - internalLinks, - currentPath, - isDirIndex, - }); + title, + text, + parsed, + baseUrl, + internalLinks, + currentPath, + isDirIndex, + }); }; renderer.heading = ( text: string, level: 1 | 2 | 3 | 4 | 5 | 6, _raw: string, - slugger: marked.Slugger ): string => { - const slug = slugger.slug(text); + const slug = slugify(text); return `#${text}`; }; @@ -170,11 +165,6 @@ export const parseMarkdown = ({ marked.use({ renderer, - pedantic: false, - gfm: true, - breaks: false, - smartLists: true, - xhtml: false, }); const html = marked.parser(tokens); From e9f6f2038a19769b504bdbd3e4f4de44a659ef45 Mon Sep 17 00:00:00 2001 From: Gadzhi Kharkharov Date: Fri, 8 Sep 2023 23:07:51 +0300 Subject: [PATCH 2/4] fix relative path resolution for images on deno deploy --- markdown.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown.ts b/markdown.ts index 556300a..648ce3c 100644 --- a/markdown.ts +++ b/markdown.ts @@ -150,7 +150,7 @@ export const parseMarkdown = ({ } else { const href = isDirIndex ? join(dirname(`${currentPath}/index`), parsed.pathname) - : join(dirname(currentPath), parsed.pathname); + : join(dirname(currentPath).replace(/\./, "/"), parsed.pathname); return `${text || `; } }; From ce83c0de64f3100b9b08257c8bfbc66017fbe7e0 Mon Sep 17 00:00:00 2001 From: Gadzhi Kharkharov Date: Fri, 8 Sep 2023 23:07:55 +0300 Subject: [PATCH 3/4] format --- pages.ts | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/pages.ts b/pages.ts index cb42cd3..524c6c7 100644 --- a/pages.ts +++ b/pages.ts @@ -106,7 +106,7 @@ function getTags(pages: Page[]): string[] { function getPagesWithTag(pages: Page[], tag: string, exclude?: Page[]): Page[] { return pages.filter( - (page) => page.tags?.includes(tag) && !exclude?.includes(page) + (page) => page.tags?.includes(tag) && !exclude?.includes(page), ); } @@ -114,13 +114,13 @@ function getRelatedPages(pages: Page[], current: Page): Page[] { return pages.filter( (page) => page.url.pathname !== current.url.pathname && - page?.tags?.some((tag) => current?.tags?.includes(tag)) + page?.tags?.some((tag) => current?.tags?.includes(tag)), ); } function getChildPages( pages: Page[], - current: Page + current: Page, ): { childPages: Page[]; allChildPages: Page[] } { const childPages: Page[] = []; const allChildPages: Page[] = []; @@ -139,7 +139,7 @@ function getChildPages( function getPagesByTags( pages: Page[], tags: string[], - exclude?: Page[] + exclude?: Page[], ): Record { const pageMap: Record = {}; tags.forEach((tag) => { @@ -160,7 +160,7 @@ function sortPages(pages: Page[]): Page[] { } function sortTaggedPages( - taggedPages: Record + taggedPages: Record, ): Record { return Object.keys(taggedPages) .sort((a, b) => taggedPages[b].length - taggedPages[a].length) @@ -253,6 +253,7 @@ function generateContentPage({ const raw = decoder.decode(Deno.readFileSync(entry.path)); const slug = slugify(entry.name.replace(/\.md$/i, ""), { lower: true }); const pageUrl = new URL(join(dirname(relPath), slug), url); + console.log(relPath); let page: Page = { url: pageUrl, @@ -280,8 +281,8 @@ function generateContentPage({ page = { ...page, html, links, headings }; - page.title ??= - getTitleFromHeadings(headings) || getTitleFromFilename(relPath); + page.title ??= getTitleFromHeadings(headings) || + getTitleFromFilename(relPath); return page; } @@ -325,8 +326,8 @@ function generateIndexPageFromFile({ page = { ...page, html, links, headings }; - page.title ??= - getTitleFromHeadings(headings) || getTitleFromFilename(dirName); + page.title ??= getTitleFromHeadings(headings) || + getTitleFromFilename(dirName); return page; } From ea9c9c5b43d95d189c3a86e810d7e7a52643691d Mon Sep 17 00:00:00 2001 From: Gadzhi Kharkharov Date: Fri, 8 Sep 2023 23:08:04 +0300 Subject: [PATCH 4/4] use absolute path for images --- docs/gfm.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/gfm.md b/docs/gfm.md index 36086e9..cc50cbb 100644 --- a/docs/gfm.md +++ b/docs/gfm.md @@ -202,11 +202,11 @@ Inline code inside table cells should still be distinguishable. Small images should be shown at their actual size. -![Bridge](img/img-small.jpg) +![Bridge](/img/img-small.jpg) Large images should always scale down and fit in the content container.
- +
This a figcaption