Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/xianmin/hugo-theme-jane.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/static
diff options
context:
space:
mode:
authorChen Xianmin <xianmin12@gmail.com>2018-03-25 05:36:42 +0300
committerChen Xianmin <xianmin12@gmail.com>2018-03-25 05:36:42 +0300
commit11f52ab220d9b83f8bfe97c32ffcbc160b7233a0 (patch)
tree9aaf8260e68848752a36f445e0946b932e9844bf /static
parentb78e3e6f6100ddcd64e1f999191250458f454a70 (diff)
refactor: remove old iconfont
Diffstat (limited to 'static')
-rw-r--r--static/dist/fonts/iconfont/iconfont.eotbin5928 -> 0 bytes
-rw-r--r--static/dist/fonts/iconfont/iconfont.svg93
-rw-r--r--static/dist/fonts/iconfont/iconfont.ttfbin5760 -> 0 bytes
-rw-r--r--static/dist/fonts/iconfont/iconfont.woffbin4160 -> 0 bytes
-rw-r--r--static/dist/jane.min.css2
-rw-r--r--static/dist/jane.min.js.map2
6 files changed, 2 insertions, 95 deletions
diff --git a/static/dist/fonts/iconfont/iconfont.eot b/static/dist/fonts/iconfont/iconfont.eot
deleted file mode 100644
index 912bca3..0000000
--- a/static/dist/fonts/iconfont/iconfont.eot
+++ /dev/null
Binary files differ
diff --git a/static/dist/fonts/iconfont/iconfont.svg b/static/dist/fonts/iconfont/iconfont.svg
deleted file mode 100644
index a13a862..0000000
--- a/static/dist/fonts/iconfont/iconfont.svg
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<!--
-2013-9-30: Created.
--->
-<svg>
-<metadata>
-Created by iconfont
-</metadata>
-<defs>
-
-<font id="iconfont" horiz-adv-x="1024" >
- <font-face
- font-family="iconfont"
- font-weight="500"
- font-stretch="normal"
- units-per-em="1024"
- ascent="896"
- descent="-128"
- />
- <missing-glyph />
-
- <glyph glyph-name="x" unicode="x" horiz-adv-x="1001"
-d="M281 543q-27 -1 -53 -1h-83q-18 0 -36.5 -6t-32.5 -18.5t-23 -32t-9 -45.5v-76h912v41q0 16 -0.5 30t-0.5 18q0 13 -5 29t-17 29.5t-31.5 22.5t-49.5 9h-133v-97h-438v97zM955 310v-52q0 -23 0.5 -52t0.5 -58t-10.5 -47.5t-26 -30t-33 -16t-31.5 -4.5q-14 -1 -29.5 -0.5
-t-29.5 0.5h-32l-45 128h-439l-44 -128h-29h-34q-20 0 -45 1q-25 0 -41 9.5t-25.5 23t-13.5 29.5t-4 30v167h911zM163 247q-12 0 -21 -8.5t-9 -21.5t9 -21.5t21 -8.5q13 0 22 8.5t9 21.5t-9 21.5t-22 8.5zM316 123q-8 -26 -14 -48q-5 -19 -10.5 -37t-7.5 -25t-3 -15t1 -14.5
-t9.5 -10.5t21.5 -4h37h67h81h80h64h36q23 0 34 12t2 38q-5 13 -9.5 30.5t-9.5 34.5q-5 19 -11 39h-368zM336 498v228q0 11 2.5 23t10 21.5t20.5 15.5t34 6h188q31 0 51.5 -14.5t20.5 -52.5v-227h-327z" />
-
-
-
- <glyph glyph-name="twitter" unicode="&#58880;" d="M672.278528 674.119424c71.1168 1.255424 108.962816-24.65792 145.115136-57.61536 30.664704 2.648064 70.530048 19.795968 94.026752 31.700992 7.61856 4.17792 15.223808 8.354816 22.841344 12.506112-13.41952-36.262912-31.620096-64.632832-59.552768-86.177792-6.21056-4.777984-12.36992-11.222016-20.164608-14.27968l0-0.437248c39.824384 0.4096 72.700928 18.376704 103.911424 28.12416l0-0.463872c-16.4096-26.049536-38.583296-52.482048-62.256128-71.431168-9.558016-7.590912-19.115008-15.182848-28.670976-22.772736 0.519168-42.160128-0.601088-82.408448-8.507392-117.851136-45.845504-206.048256-167.315456-345.936896-359.602176-405.87264-69.042176-21.516288-180.627456-30.334976-259.731456-10.703872-39.238656 9.749504-74.68032 20.72576-107.938816 35.253248-18.458624 8.082432-35.579904 16.846848-51.936256 26.81344-5.379072 3.277824-10.758144 6.5536-16.109568 9.803776 17.829888-0.520192 38.706176-5.435392 58.651648-2.21184 18.049024 2.921472 35.743744 2.128896 52.385792 5.787648 41.546752 9.120768 78.408704 21.161984 110.164992 39.757824 15.40096 8.982528 38.774784 19.577856 49.723392 32.575488-20.629504-0.355328-39.319552 4.42368-54.638592 9.831424-59.390976 20.970496-93.959168 59.52512-116.431872 117.413888 17.994752-1.939456 69.82144-6.634496 81.944576 3.575808-22.664192 1.256448-44.42624 14.363648-60.017664 24.111104-47.758336 29.9008-86.72256 80.033792-86.422528 157.145088 6.281216-2.94912 12.547072-5.924864 18.813952-8.901632 12.000256-5.07904 24.192-7.7824 38.501376-10.703872 6.06208-1.256448 18.14528-4.83328 25.094144-2.239488l-0.90112 0c-9.229312 10.730496-24.301568 17.912832-33.586176 29.435904-30.650368 38.1184-59.363328 96.744448-41.1904 166.564864 4.600832 17.693696 11.904 33.340416 19.70176 47.758336 0.28672-0.137216 0.600064-0.301056 0.886784-0.437248 3.56352-7.481344 11.523072-12.94336 16.561152-19.195904 15.673344-19.414016 34.978816-36.862976 54.638592-52.235264 67.035136-52.427776 127.408128-84.647936 224.370688-108.485632 24.576-6.061056 53.02784-10.702848 82.395136-10.730496-8.246272 24.029184-5.610496 62.912512 0.887808 86.176768 16.355328 58.487808 51.825664 100.621312 103.911424 123.230208 12.438528 5.379072 26.254336 9.33888 40.73984 12.479488C657.355776 672.317184 664.809472 673.218304 672.278528 674.119424" horiz-adv-x="1024" />
-
-
- <glyph glyph-name="weibo" unicode="&#58882;" d="M-56.57 948.89v0 0zM743.314 420.4q-16.558 3.318-21.501 9.921t-1.659 12.145l3.318 5.508q1.094 1.094 2.224 3.318t4.414 9.391 4.978 14.334 2.753 17.652-0.564 19.877-6.638 20.407-13.805 19.877q-15.463 15.463-40.284 19.877t-49.641 0.564-46.885-9.921-36.4-11.581l-14.334-6.638q-11.050-3.318-18.218-4.414t-11.050 0.564-6.073 3.318-1.659 7.732 1.094 10.485 2.753 13.805 3.318 14.899q0 13.239-1.659 24.819t-7.167 25.914-15.994 23.161-26.48 14.334-41.379 3.318-57.372-13.239q-38.624-13.239-78.342-39.154t-68.951-54.052-53.523-54.618-37.53-43.038l-12.145-17.652q-36.4-47.451-54.052-94.901t-16.558-71.707v-23.161q6.638-52.958 32.551-94.901t61.785-67.857 84.415-44.132 93.242-26.48 94.337-11.581q81.662-6.638 169.36 12.675t163.289 66.763 106.481 113.649q18.747 38.624 19.313 72.836t-11.581 55.712-31.457 38.060-36.4 24.29-30.327 9.921zM406.816 77.265q-119.156-5.508-202.443 46.356t-83.285 131.301q0 78.342 82.756 135.15t203.007 62.35 203.007-39.718 82.756-123.569q0-79.438-84.415-142.882t-201.348-68.951zM374.83 382.906q-31.986-3.318-57.372-14.899t-39.718-26.48-24.29-31.986-13.805-33.646-4.978-30.327-1.094-21.501l1.094-8.827v-4.414q0-3.318 2.224-13.239t6.073-18.218 12.675-18.218 20.972-16.558q72.836-35.306 135.714-21.501t101.503 63.443q15.463 18.747 20.407 46.356t-2.224 55.712-24.819 51.299-52.394 35.871-80.003 7.167zM335.11 174.355q-6.638-1.094-12.675-0.564t-11.050 2.224-9.921 3.847-8.261 6.073-6.073 7.732-4.414 8.827-1.659 10.485q0 12.145 6.638 23.725t18.218 19.877 25.914 9.391q9.921 1.094 19.313-0.564t15.994-5.508 11.581-8.827 7.167-11.581 2.224-14.334q0-12.145-7.167-23.161t-19.313-18.747-26.48-8.827zM428.882 253.793q-7.732-5.508-15.994-4.978t-11.581 7.167l-2.224 4.414q-1.094 2.224-1.094 4.414v4.414q0 3.318 1.094 5.508l2.224 4.414q1.094 2.224 3.318 3.318l3.318 4.414q8.827 6.638 17.088 5.508t11.581-8.827q3.318-4.414 2.753-9.921t-3.318-10.485-7.167-9.391zM820.562 484.409q6.638 0 12.145 3.318t8.827 8.261 4.414 10.485q1.094 1.094 1.094 3.318 13.239 125.794-88.265 143.446-29.798 5.508-55.182 1.094-7.732 0-13.239-3.847t-9.391-9.921-3.847-12.675q0-11.050 7.732-18.747t18.747-7.732q86.075 19.877 92.677-55.182 2.224-18.747-2.224-35.306 0-11.050 7.732-18.747t18.747-7.732zM801.815 795.522q-48.545 11.050-130.207-4.414-1.094 0-2.224-1.094l-1.094-2.224-1.094-1.094q-12.145-3.318-19.877-13.805t-7.732-22.63q0-16.558 11.050-27.574t26.48-11.050h3.318q1.094 0 4.978 1.094t8.261 1.659 9.391 2.224 8.827 3.318 14.899 1.659 27.044-1.659 35.306-8.261 38.624-16.558 38.624-27.574 33.646-40.813q28.704-65.104 11.050-125.794 0-1.094-0.564-2.224t-1.659-5.508-2.224-8.261-2.224-9.921-1.094-10.485q0-9.921 5.508-16.558t13.805-9.391 19.313-2.753q30.893 0 36.4 37.53 13.239 43.038 14.899 82.192t-5.508 68.951-21.501 55.712-33.116 44.132-41.943 33.116-44.697 23.725-44.697 14.334z" horiz-adv-x="1024" />
-
-
- <glyph glyph-name="close" unicode="&#58895;" d="M734.668 138.618l-141.21 161.382 141.21 161.382c24.014 24.012 24.014 62.926 0 86.886s-62.924 23.962-86.886 0l-135.782-155.188-135.73 155.136c-24.012 24.014-62.926 24.014-86.886 0s-23.962-62.926 0-86.886l141.158-161.332-141.21-161.382c-23.962-24.014-23.962-62.822 0-86.784 24.012-24.014 62.926-24.014 86.886 0l135.782 155.086 135.73-155.086c24.014-24.014 62.924-24.014 86.886 0s24.014 62.77 0.052 86.784z" horiz-adv-x="1024" />
-
-
- <glyph glyph-name="search" unicode="&#58894;" d="M941.427376-98.59516c-16.080234-16.010649-69.712735-18.382673-85.792968-2.378164L631.709429 127.555509c61.748343 50.087768 70.796416 148.074454 70.796416 199.626573 0 148.759045-109.305475 260.410961-257.868045 260.410961-148.56871 0-256.612449-109.908202-256.612449-258.673387 0-148.752906 102.096283-261.730003 250.664993-261.730003 30.759561 0 44.760436-0.037862 72.293513 9.466606l0.38681-1.483794c7.000438 3.544733 77.435627 12.098549 77.435627-60.962443 0-20.455891-15.623839-41.425482-34.932604-48.178279-32.66905-11.420097-75.431993-16.936741-108.60144-16.936741-211.592093 0-381.180536 169.367409-381.180536 380.807029 0 211.370035 169.589466 382.79122 381.180536 382.79122 211.667817 0 381.180536-171.421184 381.180536-382.79122 0-65.812915-12.979616-127.682008-40.201607-179.176822l157.154249-159.189605C959.423239-24.475046 957.439048-82.660236 941.427376-98.59516L941.427376-98.59516zM941.427376-98.59516" horiz-adv-x="1024" />
-
-
- <glyph glyph-name="stack-overflow" unicode="&#58883;" d="M640-0.585v-86.272l-404.005-0.585v86.272zM777.728 197.157v-400.567l-0.585-20.005v-0.585l-667.429 0.585v420.571h69.157v-353.134h530.286v353.134h68.571zM247.442 146.871l402.286-37.157-7.424-85.723-402.871 37.157zM286.281 327.424l390.29-104.558-22.272-83.419-390.29 104.558zM379.429 526.848l348.014-205.714-43.995-74.277-348.014 205.714zM585.143 715.995l227.438-334.299-70.839-48.567-227.986 333.714zM843.995 800l69.157-398.299-85.138-14.848-69.157 398.299z" horiz-adv-x="1024" />
-
-
- <glyph glyph-name="email" unicode="&#58885;" d="M512.576 209.76l-447.744 265.6 0-416.928c0-42.592 37.6-77.12 83.936-77.12l727.648 0c46.336 0 83.936 34.528 83.936 77.12l0 416.928L512.576 209.76 512.576 209.76zM148.736 620.96c-43.328 0-78.944-30.144-83.424-68.864-0.32-2.72-0.512-5.408-0.512-8.256l447.744-265.568 447.776 265.568c0 2.912-0.16 5.792-0.512 8.608-4.64 38.528-40.256 68.544-83.424 68.544L148.736 620.992 148.736 620.96z" horiz-adv-x="1024" />
-
-
- <glyph glyph-name="heart" unicode="&#58888;" d="M512-138.857143q-14.848 0-25.161143 10.276571l-356.571429 343.990857q-5.705143 4.571429-15.725714 14.848t-31.707429 37.412571-38.838857 55.698286-30.573714 69.156571-13.421714 78.848q0 125.696 72.557714 196.571429t200.557714 70.838857q35.437714 0 72.301714-12.288t68.571429-33.133714 54.564571-39.131429 43.446857-38.838857q20.553143 20.553143 43.446857 38.838857t54.564571 39.131429 68.571429 33.133714 72.301714 12.288q128 0 200.557714-70.838857t72.557714-196.571429q0-126.281143-130.852571-257.133714l-355.986286-342.857143q-10.276571-10.276571-25.161143-10.276571z" horiz-adv-x="1024" />
-
-
- <glyph glyph-name="github" unicode="&#58886;" d="M64 288C64 92.398 189.356-73.926 364.113-135.017 387.65799-141 384-124.115 384-112.767L384-35.107C248.118-51.007 242.674 38.948 233.5 53.999 215 85.499 171.5 93.499 184.5 108.499 215.5 124.499 247 104.499 283.5 50.499 309.956 11.358 361.366 17.925 387.658 24.503 393.403 48.003 405.637 68.958 422.353 85.362 281.774 110.391 223 196.33 223 298.5 223 347.947 239.322 393.594 271.465 430.373 251.142 491.072 273.421 542.81 276.337 550.585 334.458 555.869 394.888 509.007 399.549 505.315 432.663 514.165 470.341 519 512.5 519 554.924 519 592.81 514.104 626.075 505.147 637.426 513.781 693.46 553.946 747.5 549.034 750.382 541.348 772.185 490.708 753.058 430.917 785.516 394.044 802 348.191 802 298.5 802 196.126 742.99 110.047 601.803 85.214 625.381 61.997 640 29.705 640-6.008L640-118.653C640.752-127.626 640-136.664978 655.086-136.665 832.344-76.962 960 90.611 960 288 960 535.424 759.424 736 512 736 264.577 736 64 535.424 64 288Z" horiz-adv-x="1024" />
-
-
- <glyph glyph-name="right" unicode="&#58890;" d="M577.192791 300.195451l-318.04766-318.04766c-29.457916-29.457916-29.459962-77.222779-0.002047-106.681718 29.399587-29.399587 77.221756-29.459962 106.681718 0l421.710624 421.710624-0.044002 0.044002 1.904373 1.90335-427.312202 427.314249c-28.942169 28.942169-76.379575 29.116131-105.531522-0.035816-29.355585-29.355585-29.169343-76.399017-0.035816-105.531522L577.192791 300.195451z" horiz-adv-x="1024" />
-
-
- <glyph glyph-name="left" unicode="&#58891;" d="M767.481695 620.871985c29.133527 29.131481 29.319769 76.175937-0.035816 105.531522-29.151947 29.151947-76.589352 28.977985-105.531522 0.035816l-427.312202-427.314249 1.904373-1.90335-0.044002-0.044002 421.710624-421.710624c29.459962-29.459962 77.282131-29.399587 106.681718 0 29.457916 29.457916 29.455869 77.223802-0.002047 106.681718l-318.04766 318.04766L767.481695 620.871985z" horiz-adv-x="1024" />
-
-
- <glyph glyph-name="linkedin" unicode="&#58893;" d="M743.838206 427.266545c-87.422072 0-146.035004-43.980677-170.026418-85.654822l-2.403746 0 0 72.467475L399.064858 414.079198l0-530.393929 179.524746 0 0 262.396175c0 69.170382 14.360056 136.185682 107.859543 136.185682 92.142583 0 93.368504-79.127152 93.368504-140.646274l0-257.935584 179.566702 0 0 290.925952C959.385377 317.413602 925.795351 427.266545 743.838206 427.266545zM101.006462-116.271752l149.266605 0L250.273067 427.546931 101.006462 427.546931 101.006462-116.271752zM175.636183 717.568281c-61.827137 0-111.952768-48.678676-111.952768-108.754936 0-60.078307 50.125631-108.777449 111.952768-108.777449 61.829184 0 111.954815 48.699142 111.954815 108.777449C287.590997 668.889605 237.465366 717.568281 175.636183 717.568281z" horiz-adv-x="1024" />
-
-
- <glyph glyph-name="facebook" unicode="&#58881;" d="M870.4 748.8h-716.8c-56.32 0-102.4-46.080-102.4-102.4v-716.8c0-56.371 46.080-102.4 102.4-102.4h358.4v358.4h-102.4v126.72h102.4v104.96c0 110.797 62.054 188.621 192.819 188.621l92.314-0.102v-133.376h-61.286c-50.893 0-70.246-38.195-70.246-73.626v-86.528h131.482l-29.082-126.669h-102.4v-358.4h204.8c56.32 0 102.4 46.029 102.4 102.4v716.8c0 56.32-46.080 102.4-102.4 102.4z" horiz-adv-x="1024" />
-
-
- <glyph glyph-name="rss" unicode="&#58884;" d="M329.143 128q0-45.714-32-77.714t-77.714-32-77.714 32-32 77.714 32 77.714 77.714 32 77.714-32 32-77.714zM621.714 57.714q1.143-16-9.714-27.429-10.286-12-26.857-12h-77.143q-14.286 0-24.571 9.429t-11.429 23.714q-12.571 130.857-105.429 223.714t-223.714 105.429q-14.286 1.143-23.714 11.429t-9.429 24.571v77.143q0 16.571 12 26.857 9.714 9.714 24.571 9.714h2.857q91.429-7.429 174.857-46t148-103.714q65.143-64.571 103.714-148t46-174.857zM914.286 56.571q1.143-15.429-10.286-26.857-10.286-11.429-26.286-11.429h-81.714q-14.857 0-25.429 10t-11.143 24.286q-6.857 122.857-57.714 233.429t-132.286 192-192 132.286-233.429 58.286q-14.286 0.571-24.286 11.143t-10 24.857v81.714q0 16 11.429 26.286 10.286 10.286 25.143 10.286h1.714q149.714-7.429 286.571-68.571t243.143-168q106.857-106.286 168-243.143t68.571-286.571z" horiz-adv-x="1024" />
-
-
- <glyph glyph-name="google" unicode="&#58889;" d="M637.828288 832.450638l-235.350193 0c-31.202653 0-64.665789-3.629667-100.376105-10.901281-36.050054-8.472975-70.820975-26.435069-104.259552-53.955866-48.764634-47.095621-73.109088-99.482759-73.109088-157.311839 0-47.805796 17.210987-89.696882 51.627844-125.715213 32.857339-38.629809 80.596619-58.349943 143.271054-59.122539 11.805884 0 24.444738 0.772596 37.795814 2.288113-2.189875-6.184863-4.607948-12.859889-7.195889-20.201088-2.940982-6.889921-4.394077-15.603373-4.394077-25.989931 0-17.272385 3.843538-32.107255 11.589966-44.417629 6.644327-12.700253 14.199397-24.612561 22.688745-35.789111-27.466562-0.75827-61.945841-4.217045-103.506399-10.304693-41.960671-7.257288-82.006735-21.815865-120.082936-43.551912-33.960463-20.240997-57.415664-43.74327-70.329788-70.451562-13.413498-26.741038-20.057825-51.04763-20.057825-72.795956 0-44.691875 20.546965-83.068927 61.534472-115.191532 40.665165-34.332946 102.199637-51.918463 184.641277-52.682873 98.469686 1.547239 173.860746 25.049512 226.025826 70.605058 50.355875 44.072775 75.573209 94.560656 75.573209 151.600767-0.780783 40.158628-9.951653 72.672136-27.559683 97.575316-18.693758 24.50409-40.450271 46.803979-65.246003 67.14526l-39.939641 32.713053c-5.764284 5.732561-11.711739 12.438287-17.805528 20.10899-7.195889 8.021697-10.793834 18.128893-10.793834 30.445406 0 12.630668 3.514033 23.701818 10.517541 33.270754 5.955642 9.200546 12.416797 17.430998 19.453051 24.696472 12.249999 10.709923 23.793916 21.265326 34.68701 31.561833 9.812483 10.336416 19.107173 21.626553 27.850301 33.868365 17.912975 25.278733 27.221991 58.954717 27.89635 101.043301 0 22.967084-2.573615 43.076074-7.748475 60.278875-6.306636 17.253966-13.518898 32.145118-21.665439 44.774763-8.497535 13.359262-17.170055 24.698518-26.027793 33.884738-9.231245 8.810666-17.515932 15.493879-24.932856 20.079314l72.54934 0L637.828288 832.450638zM508.834402 190.628898c19.461237-22.184255 29.197996-48.184419 29.197996-78.069053 0-36.761252-14.231119-66.786079-42.739407-90.165556-29.184693-23.724331-71.547523-35.972283-127.010719-36.761252-61.84044 0.788969-110.521163 14.566764-146.158824 41.352827-37.47245 26.787086-56.152904 60.854996-56.152904 102.201683 0 21.036106 4.256954 39.034015 12.916171 53.977355 7.471159 14.177907 16.642029 26.03598 27.520797 35.597753 11.268648 9.18622 22.316262 16.275685 33.194006 21.243837 10.847046 4.593622 19.252483 8.054443 25.247011 10.357905 25.492604 7.662517 50.441832 13.19758 74.7781 16.657378 24.728194 2.281973 40.107463 3.016707 46.092781 2.281973 10.112312 0 18.901489-0.360204 26.426883-1.133823C455.99701 237.511671 488.203526 211.675236 508.834402 190.628898zM470.620056 536.951531c-2.834558-15.731286-9.232269-31.064506-19.215644-46.00887-20.646226-21.097504-46.452985-32.250518-77.441766-33.406854-24.527626 0-46.314839 7.471159-65.37801 22.467711-19.11536 14.95255-34.624589 33.163307-46.711881 54.614875-24.919553 46.054919-37.328164 90.303702-37.328164 132.858914-0.818645 32.220842 7.716752 61.364603 25.545816 87.448678 21.159926 24.917506 47.662533 37.771255 79.562057 38.543851 24.092721-0.772596 45.412282-7.892761 63.98529-21.267373 18.158568-14.175861 32.80208-32.610722 43.957141-55.217602 23.731494-47.14167 35.604916-93.955882 35.604916-140.330072C473.199811 565.882444 472.318744 552.698167 470.620056 536.951531zM833.194838 703.90803 833.194838 827.421089 773.361101 827.421089 773.361101 703.90803 649.894092 703.90803 649.894092 644.074294 773.361101 644.074294 773.361101 520.607284 833.194838 520.607284 833.194838 644.074294 956.676174 644.074294 956.676174 703.90803Z" horiz-adv-x="1024" />
-
-
- <glyph glyph-name="zhihu" unicode="&#58887;" d="M351.791182 333.530538l192.945407 0c0 45.367257-21.3871 71.939449-21.3871 71.939449L355.897709 405.469987c3.977591 82.182744 7.541767 187.659007 8.816806 226.835262l159.282726 0c0 0-0.86367 67.402109-18.578124 67.402109s-279.979646 0-279.979646 0 16.850783 88.141456 39.318494 127.053698c0 0-83.60514 4.510734-112.121614-106.962104S81.344656 540.922982 76.80834 528.609539c-4.536316-12.313443 24.62791-5.832845 36.941354 0 12.313443 5.832845 68.050885 25.924439 84.252893 103.69571l86.570681 0c1.165546-49.28652 4.596691-200.335724 3.515057-226.835262L109.86113 405.469987c-25.275663-18.147312-33.701566-71.939449-33.701566-71.939449L279.868105 333.530538c-8.497535-56.255235-23.417339-128.763642-44.275389-167.210279-33.05279-60.921511-50.55235-116.65793-169.802314-212.576513 0 0-19.442818-14.257725 40.829917-9.073656 60.273758 5.185093 117.305683 20.739347 156.840094 99.807147 20.553105 41.107233 41.805128 93.250824 58.386782 146.138358l-0.055259-0.185218 167.855986-193.263655c0 0 22.035876 51.847855 5.832845 108.880803L371.045711 245.389082l-42.1244-31.157627-0.045025-0.151449c11.69946 41.020252 20.11206 81.5749 22.726607 116.858498C351.665315 331.787848 351.72876 332.654588 351.791182 333.530538zM584.918753 713.966107l0-668.840094 70.318532 0 28.807093-80.512708 121.875768 80.512708 153.600307 0L959.520453 713.966107 584.918753 713.966107zM887.150192 117.065462l-79.837326 0-99.578949-65.782216-23.537066 65.782216-24.855084 0L659.341766 639.326153l227.807403 0L887.149169 117.065462z" horiz-adv-x="1024" />
-
-
- <glyph glyph-name="up" unicode="&#58892;" d="M120.081067 329.796267 498.7392 725.691733 877.226667 329.796267c10.9568-11.4688 28.8256-11.4688 39.816533 0 11.025067 11.537067 11.025067 30.1568 0 41.710933L518.621867 788.155733c-11.042133 11.554133-28.8256 11.554133-39.816533 0L80.2304 371.524267c-10.990933-11.5712-10.990933-30.190933 0-41.710933C91.306667 318.327467 109.090133 318.327467 120.081067 329.796267M120.081067-47.940267 498.7392 347.989333 877.226667-47.940267c10.9568-11.451733 28.8256-11.451733 39.816533 0 11.025067 11.5712 11.025067 30.1568 0 41.728L518.621867 410.436267c-11.042133 11.554133-28.8256 11.554133-39.816533 0L80.2304-6.1952c-10.990933-11.588267-10.990933-30.173867 0-41.728C91.306667-59.374933 109.090133-59.374933 120.081067-47.940267" horiz-adv-x="1024" />
-
-
- <glyph glyph-name="iconinstagram2" unicode="&#58897;" d="M720.989 874.386h-421.236c-155.828 0-282.148-126.321-282.148-282.148v-421.235c0-155.828 126.321-282.148 282.148-282.148h421.235c155.828 0 282.148 126.321 282.148 282.148v421.234c0.001 155.828-126.321 282.149-282.147 282.149zM511.934 129.236c-140.701 0-254.764 114.063-254.764 254.761 0 140.702 114.062 254.764 254.764 254.764 140.7 0 254.761-114.061 254.761-254.764 0-140.699-114.062-254.761-254.761-254.761zM773.321 587.605c-32.917 0-59.602 26.685-59.602 59.602s26.687 59.602 59.602 59.602 59.602-26.685 59.602-59.602-26.685-59.602-59.602-59.602zM511.934 547.357c-90.219 0-163.357-73.137-163.357-163.357 0-90.218 73.137-163.356 163.357-163.356 90.218 0 163.356 73.137 163.356 163.356 0 90.219-73.135 163.357-163.356 163.357z" horiz-adv-x="1024" />
-
-
- <glyph glyph-name="douban" unicode="&#58896;" d="M370.63168 468.81792 649.9072 468.81792 649.9072 366.50496 370.63168 366.50496 370.63168 468.81792ZM757.632 836.36224 262.26176 836.36224C151.36768 836.36224 61.44 745.98912 61.44 634.50112l0-497.87904c0-111.47776 89.9328-201.8304 200.82176-201.8304l495.36512 0c110.91968 0 200.84224 90.34752 200.84224 201.8304L958.46912 634.50112C958.46912 745.984 868.53632 836.36224 757.632 836.36224L757.632 836.36224zM272.37376 631.68l475.19744 0 0-53.5296L272.37376 578.1504 272.37376 631.68 272.37376 631.68zM313.63072 313.08288l0 209.2032 392.61696 0 0-209.2032L313.63072 313.08288 313.63072 313.08288zM761.0368 139.49952 258.93888 139.49952l0 52.92032 146.304 0c-13.39392 28.14464-30.86848 58.42432-52.52096 90.91072l52.52096 20.75648c20.84864-30.8736 39.45472-68.11136 55.94112-111.7184l99.41504 0c19.71712 33.67424 36.95616 70.94784 51.8144 111.7184l57.07264-20.75648c-14.88384-34.44224-31.03232-64.7424-48.11264-90.91072l139.68896 0 0-52.92032L761.0368 139.49952 761.0368 139.49952z" horiz-adv-x="1024" />
-
-
- <glyph glyph-name="pocket" unicode="&#59478;" d="M938.666667 384a426.666667 426.666667 0 0 0-426.666667-426.666667A426.666667 426.666667 0 0 0 85.333333 384V704A106.666667 106.666667 0 0 0 192 810.666667h640A106.666667 106.666667 0 0 0 938.666667 704V384m-261.12 160L512 378.453333 346.453333 544.426667a63.573333 63.573333 0 0 1-90.453333 0 63.573333 63.573333 0 0 1 0-90.453334l210.346667-211.626666c24.32-24.746667 65.706667-24.746667 90.88 0L768 453.546667c25.173333 25.173333 25.173333 65.706667 0 90.453333a63.573333 63.573333 0 0 1-90.453333 0z" horiz-adv-x="1024" />
-
-
- <glyph glyph-name="tumblr" unicode="&#59039;" d="M678.466363 38.690237c-29.039665 0-54.753201 6.84415-77.300519 20.388531-16.982447 10.058342-32.605659 27.472547-38.82616 44.247111-6.268474 16.774564-5.500906 51.011306-5.500906 110.41789V476.348054h235.531514V659.077269H556.886751V896h-144.910488c-6.476357-52.898245-18.389656-96.361796-35.675932-130.486601a279.762634 279.762634 0 0 0-68.761322-87.98251c-28.463989-24.386283-74.853895-43.159723-114.87938-56.176401v-145.006434h138.386158V117.270036c0-46.917609 4.877257-82.625523 14.631769-107.267662 9.818477-24.578175 27.280655-47.925042 52.626398-69.84871 25.217815-21.731776 55.760635-38.698232 91.548504-50.563558 35.787869-11.737398 63.244425-17.606097 109.842214-17.606097 41.016928 0 79.171466 4.125679 114.495596 12.441002 35.292148 8.331314 74.741958 22.851146 118.253482 43.351615V89.301768c-51.091261-33.709039-102.374414-50.611531-153.977387-50.611531z" horiz-adv-x="1024" />
-
-
-
-
- </font>
-</defs></svg>
diff --git a/static/dist/fonts/iconfont/iconfont.ttf b/static/dist/fonts/iconfont/iconfont.ttf
deleted file mode 100644
index f6765c5..0000000
--- a/static/dist/fonts/iconfont/iconfont.ttf
+++ /dev/null
Binary files differ
diff --git a/static/dist/fonts/iconfont/iconfont.woff b/static/dist/fonts/iconfont/iconfont.woff
deleted file mode 100644
index 526da66..0000000
--- a/static/dist/fonts/iconfont/iconfont.woff
+++ /dev/null
Binary files differ
diff --git a/static/dist/jane.min.css b/static/dist/jane.min.css
index 2c08dbe..4e119cb 100644
--- a/static/dist/jane.min.css
+++ b/static/dist/jane.min.css
@@ -1,4 +1,4 @@
-@font-face{font-family:custom-K91b09;src:url(data:application/x-font-woff;charset=utf-8;base64,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) format("woff");font-weight:400;font-style:normal}@font-face{font-family:Chancery;src:url(fonts/chancery/apple-chancery-webfont.eot);src:local("Apple Chancery"),url(fonts/chancery/apple-chancery-webfont.eot?#iefix) format("embedded-opentype"),url(fonts/chancery/apple-chancery-webfont.woff2) format("woff2"),url(fonts/chancery/apple-chancery-webfont.woff) format("woff"),url(fonts/chancery/apple-chancery-webfont.ttf) format("truetype"),url(fonts/chancery/apple-chancery-webfont.svg#apple-chancery) format("svg");font-weight:lighter;font-style:normal}
+@font-face{font-family:custom-K91b09;src:url(data:application/x-font-woff;charset=utf-8;base64,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) format("woff");font-weight:400;font-style:normal}@font-face{font-family:Chancery;src:url(fonts/chancery/apple-chancery-webfont.eot);src:local("Apple Chancery"),url(fonts/chancery/apple-chancery-webfont.eot?#iefix) format("embedded-opentype"),url(fonts/chancery/apple-chancery-webfont.woff2) format("woff2"),url(fonts/chancery/apple-chancery-webfont.woff) format("woff"),url(fonts/chancery/apple-chancery-webfont.ttf) format("truetype"),url(fonts/chancery/apple-chancery-webfont.svg#apple-chancery) format("svg");font-weight:lighter;font-style:normal}
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{font-size:18px;box-sizing:border-box}body{padding:0;margin:0;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.8;color:rgba(0,0,0,.84);background:#fefefe;scroll-behavior:smooth}@media screen and (max-width:1080px){body{border-top:0}}::selection{background:#c05b4d;color:#fff}img{max-width:100%;height:auto;display:inline-block;vertical-align:middle}a{color:rgba(0,0,0,.84);text-decoration:none}h1{font-size:1.6em}h1,h2{font-family:Athelas,STHeiti,Microsoft Yahei,serif}h2{font-size:1.5em}h3{font-size:1.3em}h3,h4{font-family:Athelas,STHeiti,Microsoft Yahei,serif}h4{font-size:1.2em}h5{font-size:1.1em}h5,h6{font-family:Athelas,STHeiti,Microsoft Yahei,serif}h6{font-size:1em}.container{margin:0 auto;width:1080px}@media screen and (max-width:1080px){.container{width:100%}}.content-wrapper{padding:3em 0 1px}.video-container{position:relative;padding-bottom:56.25%;padding-top:25px;height:0}.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.bg-llight{background-color:#f2f2f5}.bg-white{background-color:#fff}.iconfont{font-family:iconfont!important;font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:.2px;-moz-osx-font-smoothing:grayscale;cursor:pointer}.icon-heart:before{content:"\E000"}.icon-heart:before,.icon-right:before{text-rendering:auto;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;font-family:custom-K91b09;font-weight:400}.icon-right:before{content:"\E001"}.icon-left:before{content:"\E002"}.icon-left:before,.icon-up:before{text-rendering:auto;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;font-family:custom-K91b09;font-weight:400}.icon-up:before{content:"\E003";font-size:2em}.icon-email:before{content:"\E004";font-size:.8em}.icon-email:before,.icon-stack-overflow:before{text-rendering:auto;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;font-family:custom-K91b09;font-weight:400}.icon-stack-overflow:before{content:"\E005"}.icon-twitter:before{content:"\E006";font-size:.9em}.icon-facebook:before,.icon-twitter:before{text-rendering:auto;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;font-family:custom-K91b09;font-weight:400}.icon-facebook:before{content:"\E007"}.icon-linkedin:before{content:"\E008"}.icon-google:before,.icon-linkedin:before{text-rendering:auto;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;font-family:custom-K91b09;font-weight:400}.icon-google:before{content:"\E009";font-size:1.15em}.icon-github:before{content:"\E00A"}.icon-github:before,.icon-weibo:before{text-rendering:auto;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;font-family:custom-K91b09;font-weight:400}.icon-weibo:before{content:"\E00B";font-size:1.1em}.icon-zhihu:before{content:"\E00C"}.icon-douban:before,.icon-zhihu:before{text-rendering:auto;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;font-family:custom-K91b09;font-weight:400}.icon-douban:before{content:"\E00D"}.icon-pocket:before{text-rendering:auto;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;font-family:custom-K91b09;font-weight:400;content:"\E00E"}.icon-tumblr:before{content:"\E00F"}.icon-instagram:before,.icon-tumblr:before{text-rendering:auto;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;font-family:custom-K91b09;font-weight:400;font-size:1.1em}.icon-instagram:before{content:"\E010"}.icon-gitlab:before{content:"\E011"}.icon-gitlab:before,.icon-goodreads:before{text-rendering:auto;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;font-family:custom-K91b09;font-weight:400}.icon-goodreads:before{content:"\E012"}.header:after,.header:before{content:" ";display:table}.header:after{clear:both}.header .logo-wrapper{float:left;padding-left:15px}.header .logo-wrapper .logo{font-size:36px;font-family:Chancery,cursive}@media screen and (max-width:1080px){.header .logo-wrapper{display:none}}.header .site-navbar .menu{float:right;padding-right:15px;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.header .site-navbar .menu .menu-item{margin-left:1em;margin-right:1em;display:inline-block;vertical-align:middle;transform:translateZ(0);backface-visibility:hidden;box-shadow:0 0 1px transparent;position:relative;overflow:hidden}.header .site-navbar .menu .menu-item+.menu-item{margin-left:10px}.header .site-navbar .menu .menu-item:before{content:"";position:absolute;z-index:-1;height:2px;bottom:0;left:51%;right:51%;background:#c05b4d;transition-duration:.2s;transition-property:right,left;transition-timing-function:ease-out}.header .site-navbar .menu .menu-item.active:before,.header .site-navbar .menu .menu-item:active:before,.header .site-navbar .menu .menu-item:focus:before,.header .site-navbar .menu .menu-item:hover:before{right:0;left:0}.header .site-navbar .menu .menu-item-link{font-size:18px}@media screen and (max-width:1080px){.header .site-navbar{display:none}}@media screen and (max-width:1080px){.header{padding:50px 0 0;text-align:center}}.post{padding:3em 5em;margin:0 5em 3em}.post .post-header{margin-bottom:20px;text-align:center;padding-bottom:10px;border-bottom:2px solid #d3d3d3}.post .post-header .post-title{margin:0;font-size:1.8em;font-weight:400;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-header .post-link{display:inline-block;vertical-align:middle;transform:translateZ(0);backface-visibility:hidden;box-shadow:0 0 1px transparent;position:relative;overflow:hidden}.post .post-header .post-link:before{content:"";position:absolute;z-index:-1;height:2px;bottom:0;left:51%;right:51%;background:#c05b4d;transition-duration:.2s;transition-property:right,left;transition-timing-function:ease-out}.post .post-header .post-link.active:before,.post .post-header .post-link:active:before,.post .post-header .post-link:focus:before,.post .post-header .post-link:hover:before{right:0;left:0}.post .post-header .post-meta{font-size:14px;color:#8a8a8a}.post .post-header .post-meta .post-time{font-size:15px}.post .post-header .post-meta .post-category{display:inline}.post .post-header .post-meta .post-category a{color:inherit}.post .post-header .post-meta .post-category a:before{content:"\B7"}.post .post-header .post-meta .post-category a:hover{color:#c05b4d}.post .post-header .post-meta .more-meta:before{content:"\B7"}.post .post-toc{padding:10px;font-family:Athelas,STHeiti,Microsoft Yahei,serif;border-bottom:2px solid #d3d3d3;word-wrap:break-word}.post .post-toc .post-toc-title{margin:0 10px;font-size:20px;font-weight:400;text-transform:uppercase}.post .post-toc .post-toc-content{font-size:15px}.post .post-toc .post-toc-content.always-active ul{display:block}.post .post-toc .post-toc-content>nav>ul{margin:10px 0}.post .post-toc .post-toc-content ul{padding-left:20px;list-style:square}.post .post-toc .post-toc-content ul li>a{color:#139}.post .post-toc .post-toc-content ul li>a:hover{color:#900}.post .post-toc .post-toc-content ul ul{list-style:circle}.post .post-toc .post-toc-content .toc-link.active{color:#c05b4d}.post .post-content{word-wrap:break-word}.post .post-content h1,.post .post-content h2,.post .post-content h3,.post .post-content h4,.post .post-content h5,.post .post-content h6{font-weight:600;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-content h1,.post .post-content h2{border-bottom:1px solid #ddd;margin-top:2em}.post .post-content h3{margin-top:1.5em}.post .post-content a{color:#c05b4d;word-break:break-all}.post .post-content a:hover{border-bottom:1px solid #c05b4d}.post .post-content a.fancybox{border:0}.post .post-content blockquote{margin:1em 0;padding:1px 20px;position:relative;color:rgba(52,73,94,.8);background-color:rgba(192,91,77,.05);border-left:3px solid rgba(192,91,77,.3);box-shadow:1px 1px 2px rgba(0,0,0,.125)}.post .post-content blockquote footer,.post .post-content blockquote p{margin:.5em 0}.post .post-content blockquote cite:before{content:"\2014";padding-right:.3em;padding-left:.3em;color:#aaa}.post .post-content img{display:inline-block;max-width:100%}.post .post-content>table{max-width:100%;margin:10px 0;border-spacing:0;box-shadow:2px 2px 3px rgba(0,0,0,.125)}.post .post-content>table thead{background:#f8f5ec}.post .post-content>table td,.post .post-content>table th{padding:5px 15px;border:1px double #f4efe1}.post .post-content>table tr:hover{background-color:#f8f5ec}.post .post-content code,.post .post-content pre{padding:7px;font-size:13px;font-family:Consolas,Monaco,Menlo,monospace;background:#f8f5ec}.post .post-content code{padding:3px 5px;border-radius:4px;color:#c7254e}.post .post-content .highlight{margin:1em 0;border-radius:5px;overflow-x:auto;box-shadow:1px 1px 2px rgba(0,0,0,.125);position:relative}.post .post-content .highlight table{position:relative}.post .post-content .highlight table:after{position:absolute;top:0;right:0;left:0;padding:2px 7px;font-size:13px;font-weight:700;color:#b1b1b1;background:#f4efe1;content:"Code"}.post .post-content .highlight.language-bash>table:after{content:"Bash"}.post .post-content .highlight.language-c>table:after{content:"C"}.post .post-content .highlight.language-cs>table:after{content:"C#"}.post .post-content .highlight.language-cpp>table:after{content:"C++"}.post .post-content .highlight.language-css>table:after{content:"CSS"}.post .post-content .highlight.language-coffeescript>table:after{content:"CoffeeScript"}.post .post-content .highlight.language-html>table:after{content:"HTML"}.post .post-content .highlight.language-xml>table:after{content:"XML"}.post .post-content .highlight.language-http>table:after{content:"HTTP"}.post .post-content .highlight.language-json>table:after{content:"JSON"}.post .post-content .highlight.language-java>table:after{content:"Java"}.post .post-content .highlight.language-javascript>table:after,.post .post-content .highlight.language-js>table:after{content:"JavaScript"}.post .post-content .highlight.language-makefile>table:after{content:"Makefile"}.post .post-content .highlight.language-markdown>table:after{content:"Markdown"}.post .post-content .highlight.language-objectivec>table:after{content:"Objective-C"}.post .post-content .highlight.language-php>table:after{content:"PHP"}.post .post-content .highlight.language-perl>table:after{content:"Perl"}.post .post-content .highlight.language-python>table:after{content:"Python"}.post .post-content .highlight.language-ruby>table:after{content:"Ruby"}.post .post-content .highlight.language-sql>table:after{content:"SQL"}.post .post-content .highlight.language-shell>table:after{content:"Shell"}.post .post-content .highlight.language-erlang>table:after{content:"Erlang"}.post .post-content .highlight.language-go>table:after{content:"Go"}.post .post-content .highlight.language-groovy>table:after{content:"Groovy"}.post .post-content .highlight.language-haskell>table:after{content:"Haskell"}.post .post-content .highlight.language-kotlin>table:after{content:"Kotlin"}.post .post-content .highlight.language-less>table:after{content:"Less"}.post .post-content .highlight.language-lisp>table:after{content:"Lisp"}.post .post-content .highlight.language-lua>table:after{content:"Lua"}.post .post-content .highlight.language-matlab>table:after{content:"Matlab"}.post .post-content .highlight.language-rust>table:after{content:"Rust"}.post .post-content .highlight.language-scss>table:after{content:"Scss"}.post .post-content .highlight.language-scala>table:after{content:"Scala"}.post .post-content .highlight.language-swift>table:after{content:"Swift"}.post .post-content .highlight.language-typescript>table:after{content:"TypeScript"}.post .post-content .highlight.language-yaml>table:after,.post .post-content .highlight.language-yml>table:after{content:"YAML"}.post .post-content .highlight.language-toml>table:after{content:"TOML"}.post .post-content .highlight .code pre{margin:0;padding:30px 10px 10px}.post .post-content .highlight .gutter{width:10px;color:#cacaca}.post .post-content .highlight .gutter pre{margin:0;padding:30px 7px 10px}.post .post-content .highlight .line{height:20px}.post .post-content .highlight table,.post .post-content .highlight td,.post .post-content .highlight tr{margin:0;padding:0;width:100%;border-collapse:collapse}.post .post-content .highlight .code .hljs-comment,.post .post-content .highlight .code .hljs-quote{color:#93a1a1}.post .post-content .highlight .code .hljs-addition,.post .post-content .highlight .code .hljs-keyword,.post .post-content .highlight .code .hljs-selector-tag{color:#859900}.post .post-content .highlight .code .hljs-doctag,.post .post-content .highlight .code .hljs-literal,.post .post-content .highlight .code .hljs-meta .hljs-meta-string,.post .post-content .highlight .code .hljs-number,.post .post-content .highlight .code .hljs-regexp,.post .post-content .highlight .code .hljs-string{color:#2aa198}.post .post-content .highlight .code .hljs-name,.post .post-content .highlight .code .hljs-section,.post .post-content .highlight .code .hljs-selector-class,.post .post-content .highlight .code .hljs-selector-id,.post .post-content .highlight .code .hljs-title{color:#268bd2}.post .post-content .highlight .code .hljs-attr,.post .post-content .highlight .code .hljs-attribute,.post .post-content .highlight .code .hljs-class .hljs-title,.post .post-content .highlight .code .hljs-template-variable,.post .post-content .highlight .code .hljs-type,.post .post-content .highlight .code .hljs-variable{color:#b58900}.post .post-content .highlight .code .hljs-bullet,.post .post-content .highlight .code .hljs-link,.post .post-content .highlight .code .hljs-meta,.post .post-content .highlight .code .hljs-meta .hljs-keyword,.post .post-content .highlight .code .hljs-selector-attr,.post .post-content .highlight .code .hljs-selector-pseudo,.post .post-content .highlight .code .hljs-subst,.post .post-content .highlight .code .hljs-symbol{color:#cb4b16}.post .post-content .highlight .code .hljs-built_in,.post .post-content .highlight .code .hljs-deletion{color:#dc322f}.post .post-content .highlight .code .hljs-formula{background:#eee8d5}.post .post-content .highlight .code .hljs-emphasis{font-style:italic}.post .post-content .highlight .code .hljs-strong{font-weight:700}.post .post-content .post-summary{margin-bottom:1em}.post .post-content .read-more{text-align:right}.post .post-content .read-more .read-more-link{color:#c05b4d;font-size:1.1em;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-content .read-more .read-more-link:hover{border-bottom:1px solid #c05b4d}.post .post-content kbd{display:inline-block;padding:.25em;background-color:#fafafa;border:1px solid #dbdbdb;border-bottom-color:#b5b5b5;border-radius:3px;box-shadow:inset 0 -1px 0 #b5b5b5;font-size:.8em;line-height:1.25;font-family:SFMono-Regular,Liberation Mono,Roboto Mono,Menlo,Monaco,Consolas,Courier New,Courier,monospace;color:#4a4a4a}.post .post-content dl dt:after{content:":"}.post .post-content figure.center{text-align:center}.post .post-content figure figcaption h4{color:#b5b5b5;font-size:.9rem}.post .post-content .task-list{list-style:none;padding-left:1.5rem}.post .post-copyright{margin-top:20px;padding-top:10px;border-top:1px dashed #e6e6e6}.post .post-copyright .copyright-item{margin:5px 0}.post .post-copyright .copyright-item a{color:#c05b4d;word-wrap:break-word}.post .post-copyright .copyright-item a:hover{border-bottom:1px solid #c05b4d}.post .post-copyright .copyright-item .item-title{display:inline-block;min-width:5rem;margin-right:.5rem;text-align:right}.post .post-copyright .copyright-item .item-title:after{content:" :"}.post .post-reward{margin-top:20px;padding-top:10px;text-align:center;border-top:1px dashed #e6e6e6}.post .post-reward .reward-button{margin:15px 0;padding:3px 7px;display:inline-block;color:#c05b4d;border:1px solid #c05b4d;border-radius:5px;cursor:pointer}.post .post-reward .reward-button:hover{color:#fefefe;background-color:#c05b4d;transition:.5s}.post .post-reward #reward:checked~.qr-code{display:block}.post .post-reward #reward:checked~.reward-button,.post .post-reward .qr-code{display:none}.post .post-reward .qr-code .qr-code-image{display:inline-block;min-width:200px;width:40%;margin-top:15px}.post .post-reward .qr-code .qr-code-image span{display:inline-block;width:100%;margin:8px 0}.post .post-reward .qr-code .image{width:200px;height:200px}.post .post-footer{margin-top:20px;margin-bottom:40px;border-top:1px solid #e6e6e6;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-footer .post-tags{padding:15px 0}.post .post-footer .post-tags a{margin-right:5px;color:#c05b4d;word-break:break-all}.post .post-footer .post-tags a:before{content:"#"}.post .post-footer .post-nav{margin:1em 0}.post .post-footer .post-nav:after,.post .post-footer .post-nav:before{content:" ";display:table}.post .post-footer .post-nav:after{clear:both}.post .post-footer .post-nav .next,.post .post-footer .post-nav .prev{font-weight:600;font-size:18px;font-family:Athelas,STHeiti,Microsoft Yahei,serif;transition-property:transform;transition-timing-function:ease-out;transition-duration:.3s}.post .post-footer .post-nav .prev{float:left}.post .post-footer .post-nav .prev:hover{color:#c05b4d;transform:translateX(-4px)}.post .post-footer .post-nav .next{float:right}.post .post-footer .post-nav .next:hover{color:#c05b4d;transform:translateX(4px)}.post .post-footer .post-nav .nav-mobile{display:none}@media screen and (max-width:1080px){.post .post-footer .post-nav .nav-default{display:none}.post .post-footer .post-nav .nav-mobile{display:inline}}.post .disqus-button{display:block;padding:15px 0;font-size:16px;color:#555;border:1px solid #ddd;text-align:center;cursor:pointer}@media screen and (max-width:504px){.post{padding:1em;margin:0 0 2em}.content-wrapper{padding:1em 0 1px}}@media screen and (min-width:900px) and (max-width:1080px){.post{margin:0 2em 2em}.content-wrapper{padding:2em 0 1px}}@media screen and (min-width:504px) and (max-width:899px){.post{padding:1em;margin:0 1em 2em}.content-wrapper{padding:1em 0 1px}}.pagination{margin:2em 0;text-align:center}.pagination:after,.pagination:before{content:" ";display:table}.pagination:after{clear:both}.pagination li{display:inline-block}.pagination li a{background-color:#fff;margin-left:.1em;margin-right:.1em;border:1px solid #222;color:#222;float:left;line-height:1.42857143;padding:6px 12px;position:relative;text-decoration:none;margin-bottom:.2em}.pagination .active a{background-color:#222;border-color:#222;color:#fff;cursor:default;z-index:2}.pagination .next,.pagination .prev{font-weight:600;font-size:20px;font-family:Athelas,STHeiti,Microsoft Yahei,serif;transition-property:transform;transition-timing-function:ease-out;transition-duration:.3s}.pagination .prev{float:left}.pagination .prev:hover{color:#c05b4d;transform:translateX(-4px)}.pagination .next{float:right}.pagination .next:hover{color:#c05b4d;transform:translateX(4px)}@media screen and (max-width:1080px){.pagination{margin:1em 0}}.footer{margin-top:2em}.footer .social-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap}.footer .social-links .iconfont{font-size:1.7em}.footer .social-links .iconfont+.iconfont{margin-left:.5em}.footer .social-links .iconfont:hover{color:#c05b4d}.footer .copyright{margin:10px 0;color:#8a8a8a;text-align:center;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.footer .copyright .hexo-link,.footer .copyright .theme-link{color:#c05b4d}.footer .copyright .copyright-year{display:block}.footer .copyright .copyright-year .heart{font-size:14px}.archive{margin:0 5em 3em;background-color:#fff;padding:1em 5em 5em}.archive .archive-title{font-family:Athelas,STHeiti,Microsoft Yahei,serif}.archive .archive-title.category,.archive .archive-title.tag{margin:20px 0}.archive .archive-title .archive-name{margin:0;display:inline-block;font-weight:400;font-size:30px;line-height:32px}.archive .archive-title .archive-post-counter{display:none;color:#8a8a8a}.archive .collection-title{font-family:Athelas,STHeiti,Microsoft Yahei,serif}.archive .collection-title .archive-year{margin:2em 0 0;font-weight:400;font-size:28px;line-height:30px}.archive .archive-post{padding:15px 20px 5px;border-bottom:1px solid #cacaca;font-size:1.1em;display:table;width:100%}.archive .archive-post .archive-post-time{color:#8a8a8a;display:table-cell;width:7em;vertical-align:middle}.archive .archive-post .archive-post-title{display:table-cell;vertical-align:middle}.archive .archive-post .archive-post-title .archive-post-link{color:#c05b4d}.archive .archive-post::first-child{margin-top:10px}.archive .archive-post:hover{transition:.2s ease-out;transform:translateX(4px)}.archive .archive-post:hover .archive-post-time{color:#717171}.archive .archive-post:hover .archive-post-title .archive-post-link{color:#a14639}.archive .more-post{text-align:right}.archive .more-post .more-post-link{margin-top:1em;color:#c05b4d;font-size:1.1em;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.archive .more-post .more-post-link:hover{border-bottom:1px solid #c05b4d}@media screen and (max-width:899px){.archive{margin:0 auto 1em;padding:1em}.archive .archive-title .archive-name{font-size:26px}.archive .collection-title .archive-year{margin:10px 0;font-size:24px}.archive .archive-post{padding:5px 10px}.archive .archive-post .archive-post-time{font-size:13px;display:block}.archive .archive-post .archive-post-title{display:block}}.tag-cloud{margin:2em 0 3em;text-align:center;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.tag-cloud .tag-cloud-title{display:inline-block;font-size:24px;color:#c05b4d;border-bottom:2px solid #c05b4d}.tag-cloud .tag-cloud-tags{margin:10px 0}.tag-cloud .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;transition-duration:.2s;transition-property:transform;transition-timing-function:ease-out}.tag-cloud .tag-cloud-tags a .tag-count{display:inline-block;position:relative;top:-8px;right:-2px;color:#c05b4d;font-size:12px}.tag-cloud .tag-cloud-tags a:active,.tag-cloud .tag-cloud-tags a:focus,.tag-cloud .tag-cloud-tags a:hover{color:#c05b4d;transform:scale(1.1)}.categories{margin:2em 0 3em;text-align:center;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.categories .categories-title{display:inline-block;font-size:18px;color:#c05b4d;border-bottom:2px solid #c05b4d}.categories .categories-tags{margin:10px 0}.categories .categories-tags .category-link{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;transition-duration:.2s;transition-property:transform;transition-timing-function:ease-out}.categories .categories-tags .category-link .category-count{display:inline-block;position:relative;top:-8px;right:-2px;color:#c05b4d;font-size:12px}.categories .categories-tags .category-link:active,.categories .categories-tags .category-link:focus,.categories .categories-tags .category-link:hover{color:#c05b4d;transform:scale(1.1)}.slideout-menu{position:fixed;top:0;left:0;bottom:0;width:180px;min-height:100vh;overflow-y:hidden;-webkit-overflow-scrolling:touch;z-index:0;display:none}.slideout-panel{position:relative;z-index:1;background-color:#fefefe;min-height:100%}.slideout-open,.slideout-open .slideout-panel,.slideout-open body{overflow:hidden}.slideout-open .slideout-menu{display:block}.mobile-navbar{display:none;position:fixed;top:0;left:0;width:100%;height:50px;background:#fefefe;box-shadow:0 2px 2px #cacaca;text-align:center;transition:transform .3s ease;z-index:99}.mobile-navbar.fixed-open{transform:translate3d(180px,0,0)}.mobile-navbar .mobile-header-logo{display:inline-block;margin-right:50px}.mobile-navbar .mobile-header-logo .logo{font-size:22px;line-height:50px;font-family:Chancery,cursive}.mobile-navbar .mobile-navbar-icon{color:#c05b4d;height:50px;width:50px;font-size:24px;text-align:center;float:left;position:relative;transition:background .5s}@keyframes clickfirst{0%{transform:translateY(6px) rotate(0deg)}to{transform:translateY(0) rotate(45deg)}}@keyframes clickmid{0%{opacity:1}to{opacity:0}}@keyframes clicklast{0%{transform:translateY(-6px) rotate(0deg)}to{transform:translateY(0) rotate(-45deg)}}@keyframes outfirst{0%{transform:translateY(0) rotate(-45deg)}to{transform:translateY(-6px) rotate(0deg)}}@keyframes outmid{0%{opacity:0}to{opacity:1}}@keyframes outlast{0%{transform:translateY(0) rotate(45deg)}to{transform:translateY(6px) rotate(0deg)}}.mobile-navbar .mobile-navbar-icon span{position:absolute;left:15px;top:25px;left:calc((100% - 20px) / 2);top:calc((100% - 1px) / 2);width:20px;height:1px;background-color:#c05b4d}.mobile-navbar .mobile-navbar-icon span:first-child{transform:translateY(6px) rotate(0deg)}.mobile-navbar .mobile-navbar-icon span:nth-child(3){transform:translateY(-6px) rotate(0deg)}.mobile-navbar .mobile-navbar-icon.icon-click span:first-child{animation-duration:.5s;animation-fill-mode:both;animation-name:clickfirst}.mobile-navbar .mobile-navbar-icon.icon-click span:nth-child(2){animation-duration:.2s;animation-fill-mode:both;animation-name:clickmid}.mobile-navbar .mobile-navbar-icon.icon-click span:nth-child(3){animation-duration:.5s;animation-fill-mode:both;animation-name:clicklast}.mobile-navbar .mobile-navbar-icon.icon-out span:first-child{animation-duration:.5s;animation-fill-mode:both;animation-name:outfirst}.mobile-navbar .mobile-navbar-icon.icon-out span:nth-child(2){animation-duration:.2s;animation-fill-mode:both;animation-name:outmid}.mobile-navbar .mobile-navbar-icon.icon-out span:nth-child(3){animation-duration:.5s;animation-fill-mode:both;animation-name:outlast}.mobile-menu{background-color:hsla(45,46%,95%,.5)}.mobile-menu .mobile-menu-list{position:relative;list-style:none;margin-top:50px;padding:0;border-top:1px solid #f8f5ec}.mobile-menu .mobile-menu-list .mobile-menu-item{padding:10px 30px;border-bottom:1px solid #f8f5ec}.mobile-menu .mobile-menu-list a{font-size:18px;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.mobile-menu .mobile-menu-list a:hover{color:#c05b4d}@media screen and (max-width:1080px){.mobile-navbar{display:block}}.back-to-top{display:none;position:fixed;right:2em;bottom:2em;transition-property:transform;transition-timing-function:ease-out;transition-duration:.3s;z-index:10}.back-to-top:hover{transform:translateY(-5px)}@media screen and (max-width:1080px){.back-to-top{display:none!important}}.not-found{text-align:center}.not-found .error-emoji{color:#363636;font-size:3rem}.not-found .error-text{color:#797979;font-size:1.25rem}.not-found .error-link{margin-top:2rem}.not-found .error-link a{color:#c05b4d}
/*# sourceMappingURL=jane.min.css.map*/ \ No newline at end of file
diff --git a/static/dist/jane.min.js.map b/static/dist/jane.min.js.map
index a57b98b..a945efc 100644
--- a/static/dist/jane.min.js.map
+++ b/static/dist/jane.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap 2d9ea7660a243a9b4d66","webpack:///./js/main.js","webpack:///./js/jane.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","_jane","$","document","ready","Jane","backToTop","mobileNavbar","toc","fancybox","hljs","initHighlighting","highlight","$backToTop","window","scroll","scrollTop","fadeIn","fadeOut","click","animate","$mobileNav","$mobileNavIcon","slideout","Slideout","panel","getElementById","menu","padding","tolerance","disableTouch","toggle","on","addClass","removeClass","isOpen","$toc","$footer","length","css","minScrollTop","offset","top","maxScrollTop","height","tocState","start","position","process","end","$toclink","$headerlink","$tocLinkLis","headerlinkTop","map","link","headerLinksOffsetForSearch","activeTocIndex","array","target","searchActiveTocIndex","ancestor","parentNode","tagName","each","this","find","wrap","src","title","selector","protect","blocks","querySelectorAll","block","rootElement","parentElement","lineCodes","innerHTML","split","slice","lineLength","codeLineHtml","codeHtml","className","figure","createElement","replaceChild","tocContainer","removeChild","_refactorToc","oldTocList","children","newTocList","temp","links","num","headers","header","id"],"mappings":"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","file":"jane.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 2d9ea7660a243a9b4d66","import {Jane} from './jane.js'\n\nimport '../css/style.scss'\n\n$(document).ready(function () {\n Jane.backToTop()\n Jane.mobileNavbar()\n Jane.toc()\n Jane.fancybox()\n})\n\nhljs.initHighlighting()\nJane.highlight()\n\n\n\n// WEBPACK FOOTER //\n// ./js/main.js","'use strict'\n\nconst Jane = {}\n\nJane.backToTop = function () {\n const $backToTop = $('#back-to-top')\n\n $(window).scroll(function () {\n if ($(window).scrollTop() > 100) {\n $backToTop.fadeIn(1000)\n } else {\n $backToTop.fadeOut(1000)\n }\n })\n\n $backToTop.click(function () {\n $('body,html').animate({ scrollTop: 0 })\n })\n}\n\nJane.mobileNavbar = function () {\n const $mobileNav = $('#mobile-navbar')\n const $mobileNavIcon = $('.mobile-navbar-icon')\n const slideout = new Slideout({\n 'panel': document.getElementById('mobile-panel'),\n 'menu': document.getElementById('mobile-menu'),\n 'padding': 180,\n 'tolerance': 70\n })\n slideout.disableTouch()\n\n $mobileNavIcon.click(function () {\n slideout.toggle()\n })\n\n slideout.on('beforeopen', function () {\n $mobileNav.addClass('fixed-open')\n $mobileNavIcon.addClass('icon-click').removeClass('icon-out')\n })\n\n slideout.on('beforeclose', function () {\n $mobileNav.removeClass('fixed-open')\n $mobileNavIcon.addClass('icon-out').removeClass('icon-click')\n })\n\n $('#mobile-panel').on('touchend', function () {\n slideout.isOpen() && $mobileNavIcon.click()\n })\n}\n\nJane._initToc = function () {\n const SPACING = 20\n const $toc = $('.post-toc')\n const $footer = $('.post-footer')\n\n if ($toc.length) {\n $('.content').css('width', '65em')\n $('.post').css('margin-left', '15em')\n // $('.content').css('background-color', '#fff')\n\n const minScrollTop = $toc.offset().top - SPACING\n const maxScrollTop = $footer.offset().top - $toc.height() - SPACING\n\n const tocState = {\n start: {\n 'position': 'absolute',\n 'top': minScrollTop\n },\n process: {\n 'position': 'fixed',\n 'top': SPACING\n },\n end: {\n 'position': 'absolute',\n 'top': maxScrollTop\n }\n }\n\n $(window).scroll(function () {\n const scrollTop = $(window).scrollTop()\n\n if (scrollTop < minScrollTop) {\n $toc.css(tocState.start)\n } else if (scrollTop > maxScrollTop) {\n $toc.css(tocState.end)\n } else {\n $toc.css(tocState.process)\n }\n })\n }\n\n const HEADERFIX = 30\n const $toclink = $('.toc-link')\n const $headerlink = $('.headerlink')\n const $tocLinkLis = $('.post-toc-content li')\n\n const headerlinkTop = $.map($headerlink, function (link) {\n return $(link).offset().top\n })\n\n const headerLinksOffsetForSearch = $.map(headerlinkTop, function (offset) {\n return offset - HEADERFIX\n })\n\n const searchActiveTocIndex = function (array, target) {\n for (let i = 0; i < array.length - 1; i++) {\n if (target > array[i] && target <= array[i + 1]) return i\n }\n if (target > array[array.length - 1]) return array.length - 1\n return -1\n }\n\n $(window).scroll(function () {\n const scrollTop = $(window).scrollTop()\n const activeTocIndex = searchActiveTocIndex(headerLinksOffsetForSearch, scrollTop)\n\n $($toclink).removeClass('active')\n $($tocLinkLis).removeClass('has-active')\n\n if (activeTocIndex !== -1) {\n $($toclink[activeTocIndex]).addClass('active')\n let ancestor = $toclink[activeTocIndex].parentNode\n while (ancestor.tagName !== 'NAV') {\n $(ancestor).addClass('has-active')\n ancestor = ancestor.parentNode.parentNode\n }\n }\n })\n}\n\nJane.fancybox = function () {\n if ($.fancybox) {\n $('.post-content').each(function () {\n $(this).find('img').each(function () {\n $(this).wrap(`<a class=\"fancybox\" href=\"${this.src}\" data-fancybox=\"gallery\" data-caption=\"${this.title}\"></a>`)\n })\n })\n\n $('.fancybox').fancybox({\n selector: '.fancybox',\n protect: true\n })\n }\n}\n\nJane.highlight = function () {\n const blocks = document.querySelectorAll('pre code')\n for (let i = 0; i < blocks.length; i++) {\n const block = blocks[i]\n const rootElement = block.parentElement\n const lineCodes = block.innerHTML.split(/\\n/).slice(0, -1)\n const lineLength = lineCodes.length\n\n let codeLineHtml = ''\n for (let i = 0; i < lineLength; i++) {\n codeLineHtml += `<div class=\"line\">${i + 1}</div>`\n }\n\n let codeHtml = ''\n for (let i = 0; i < lineLength; i++) {\n codeHtml += `<div class=\"line\">${lineCodes[i]}</div>`\n }\n\n block.className += ' highlight'\n const figure = document.createElement('figure')\n figure.className = block.className\n figure.innerHTML = `<table><tbody><tr><td class=\"gutter\"><pre>${codeLineHtml}</pre></td><td class=\"code\"><pre>${codeHtml}</pre></td></tr></tbody></table>`\n\n rootElement.parentElement.replaceChild(figure, rootElement)\n }\n}\n\nJane.toc = function () {\n const tocContainer = document.getElementById('post-toc')\n if (tocContainer !== null) {\n const toc = document.getElementById('TableOfContents')\n if (toc === null) {\n // toc = true, but there are no headings\n tocContainer.parentNode.removeChild(tocContainer)\n } else {\n this._refactorToc(toc)\n // this._linkToc()\n // this._initToc()\n }\n }\n}\n\nJane._refactorToc = function (toc) {\n const oldTocList = toc.children[0]\n let newTocList = oldTocList\n let temp\n while (newTocList.children.length === 1 && (temp = newTocList.children[0].children[0]).tagName === 'UL') newTocList = temp\n\n if (newTocList !== oldTocList) toc.replaceChild(newTocList, oldTocList)\n}\n\nJane._linkToc = function () {\n const links = document.querySelectorAll('#TableOfContents a')\n for (let i = 0; i < links.length; i++) links[i].className += ' toc-link'\n\n for (let num = 1; num <= 6; num++) {\n const headers = document.querySelectorAll('.post-content>h' + num)\n for (let i = 0; i < headers.length; i++) {\n const header = headers[i]\n header.innerHTML = `<a href=\"#${header.id}\" class=\"headerlink\" title=\"${header.innerHTML}\"></a>${header.innerHTML}`\n }\n }\n}\n\nexport {Jane}\n\n\n\n// WEBPACK FOOTER //\n// ./js/jane.js"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/bootstrap 4a92ee521476a908e594","webpack:///./js/main.js","webpack:///./js/jane.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","_jane","$","document","ready","Jane","backToTop","mobileNavbar","toc","fancybox","hljs","initHighlighting","highlight","$backToTop","window","scroll","scrollTop","fadeIn","fadeOut","click","animate","$mobileNav","$mobileNavIcon","slideout","Slideout","panel","getElementById","menu","padding","tolerance","disableTouch","toggle","on","addClass","removeClass","isOpen","$toc","$footer","length","css","minScrollTop","offset","top","maxScrollTop","height","tocState","start","position","process","end","$toclink","$headerlink","$tocLinkLis","headerlinkTop","map","link","headerLinksOffsetForSearch","activeTocIndex","array","target","searchActiveTocIndex","ancestor","parentNode","tagName","each","this","find","wrap","src","title","selector","protect","blocks","querySelectorAll","block","rootElement","parentElement","lineCodes","innerHTML","split","slice","lineLength","codeLineHtml","codeHtml","className","figure","createElement","replaceChild","tocContainer","removeChild","_refactorToc","oldTocList","children","newTocList","temp","links","num","headers","header","id"],"mappings":"aACA,IAAAA,KAGA,SAAAC,EAAAC,GAGA,GAAAF,EAAAE,GACA,OAAAF,EAAAE,GAAAC,QAGA,IAAAC,EAAAJ,EAAAE,IACAG,EAAAH,EACAI,GAAA,EACAH,YAUA,OANAI,EAAAL,GAAAM,KAAAJ,EAAAD,QAAAC,IAAAD,QAAAF,GAGAG,EAAAE,GAAA,EAGAF,EAAAD,QAKAF,EAAAQ,EAAAF,EAGAN,EAAAS,EAAAV,EAGAC,EAAAU,EAAA,SAAAR,EAAAS,EAAAC,GACAZ,EAAAa,EAAAX,EAAAS,IACAG,OAAAC,eAAAb,EAAAS,GACAK,cAAA,EACAC,YAAA,EACAC,IAAAN,KAMAZ,EAAAmB,EAAA,SAAAhB,GACA,IAAAS,EAAAT,KAAAiB,WACA,WAA2B,OAAAjB,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAH,EAAAU,EAAAE,EAAA,IAAAA,GACAA,GAIAZ,EAAAa,EAAA,SAAAQ,EAAAC,GAAsD,OAAAR,OAAAS,UAAAC,eAAAjB,KAAAc,EAAAC,IAGtDtB,EAAAyB,EAAA,GAGAzB,IAAA0B,EAAA,kCC7DA,IAAAC,EAAA3B,EAAA,GAEAA,EAAA,GAEA4B,EAAEC,UAAUC,MAAM,WAChBH,EAAAI,KAAKC,YACLL,EAAAI,KAAKE,eACLN,EAAAI,KAAKG,MACLP,EAAAI,KAAKI,aAGPC,KAAKC,mBACLV,EAAAI,KAAKO,2FCVL,IAAMP,GAENA,UAAiB,WACf,IAAMQ,EAAaX,EAAE,gBAErBA,EAAEY,QAAQC,OAAO,WACXb,EAAEY,QAAQE,YAAc,IAC1BH,EAAWI,OAAO,KAElBJ,EAAWK,QAAQ,OAIvBL,EAAWM,MAAM,WACfjB,EAAE,aAAakB,SAAUJ,UAAW,OAIxCX,aAAoB,WAClB,IAAMgB,EAAanB,EAAE,kBACfoB,EAAiBpB,EAAE,uBACnBqB,EAAW,IAAIC,UACnBC,MAAStB,SAASuB,eAAe,gBACjCC,KAAQxB,SAASuB,eAAe,eAChCE,QAAW,IACXC,UAAa,KAEfN,EAASO,eAETR,EAAeH,MAAM,WACnBI,EAASQ,WAGXR,EAASS,GAAG,aAAc,WACxBX,EAAWY,SAAS,cACpBX,EAAeW,SAAS,cAAcC,YAAY,cAGpDX,EAASS,GAAG,cAAe,WACzBX,EAAWa,YAAY,cACvBZ,EAAeW,SAAS,YAAYC,YAAY,gBAGlDhC,EAAE,iBAAiB8B,GAAG,WAAY,WAChCT,EAASY,UAAYb,EAAeH,WAIxCd,SAAgB,WACd,IACM+B,EAAOlC,EAAE,aACTmC,EAAUnC,EAAE,gBAElB,GAAIkC,EAAKE,OAAQ,CACfpC,EAAE,YAAYqC,IAAI,QAAS,QAC3BrC,EAAE,SAASqC,IAAI,cAAe,QAG9B,IAAMC,EAAeJ,EAAKK,SAASC,IATrB,GAURC,EAAeN,EAAQI,SAASC,IAAMN,EAAKQ,SAVnC,GAYRC,GACJC,OACEC,SAAY,WACZL,IAAOF,GAETQ,SACED,SAAY,QACZL,IAnBU,IAqBZO,KACEF,SAAY,WACZL,IAAOC,IAIXzC,EAAEY,QAAQC,OAAO,WACf,IAAMC,EAAYd,EAAEY,QAAQE,YAExBA,EAAYwB,EACdJ,EAAKG,IAAIM,EAASC,OACT9B,EAAY2B,EACrBP,EAAKG,IAAIM,EAASI,KAElBb,EAAKG,IAAIM,EAASG,WAKxB,IACME,EAAWhD,EAAE,aACbiD,EAAcjD,EAAE,eAChBkD,EAAclD,EAAE,wBAEhBmD,EAAgBnD,EAAEoD,IAAIH,EAAa,SAAUI,GACjD,OAAOrD,EAAEqD,GAAMd,SAASC,MAGpBc,EAA6BtD,EAAEoD,IAAID,EAAe,SAAUZ,GAChE,OAAOA,EAVS,KAqBlBvC,EAAEY,QAAQC,OAAO,WACf,IAAMC,EAAYd,EAAEY,QAAQE,YACtByC,EAVqB,SAAUC,EAAOC,GAC5C,IAAK,IAAIjF,EAAI,EAAGA,EAAIgF,EAAMpB,OAAS,EAAG5D,IACpC,GAAIiF,EAASD,EAAMhF,IAAMiF,GAAUD,EAAMhF,EAAI,GAAI,OAAOA,EAE1D,OAAIiF,EAASD,EAAMA,EAAMpB,OAAS,GAAWoB,EAAMpB,OAAS,GACpD,EAKesB,CAAqBJ,EAA4BxC,GAKxE,GAHAd,EAAEgD,GAAUhB,YAAY,UACxBhC,EAAEkD,GAAalB,YAAY,eAEH,IAApBuB,EAAuB,CACzBvD,EAAEgD,EAASO,IAAiBxB,SAAS,UAErC,IADA,IAAI4B,EAAWX,EAASO,GAAgBK,WACZ,QAArBD,EAASE,SACd7D,EAAE2D,GAAU5B,SAAS,cACrB4B,EAAWA,EAASC,WAAWA,eAMvCzD,SAAgB,WACVH,EAAEO,WACJP,EAAE,iBAAiB8D,KAAK,WACtB9D,EAAE+D,MAAMC,KAAK,OAAOF,KAAK,WACvB9D,EAAE+D,MAAME,KAAR,6BAA0CF,KAAKG,IAA/C,2CAA6FH,KAAKI,MAAlG,cAIJnE,EAAE,aAAaO,UACb6D,SAAU,YACVC,SAAS,MAKflE,UAAiB,WAEf,IADA,IAAMmE,EAASrE,SAASsE,iBAAiB,YAChC/F,EAAI,EAAGA,EAAI8F,EAAOlC,OAAQ5D,IAAK,CAOtC,IANA,IAAMgG,EAAQF,EAAO9F,GACfiG,EAAcD,EAAME,cACpBC,EAAYH,EAAMI,UAAUC,MAAM,MAAMC,MAAM,GAAI,GAClDC,EAAaJ,EAAUvC,OAEzB4C,EAAe,GACVxG,EAAI,EAAGA,EAAIuG,EAAYvG,IAC9BwG,yBAAqCxG,EAAI,GAAzC,SAIF,IADA,IAAIyG,EAAW,GACNzG,EAAI,EAAGA,EAAIuG,EAAYvG,IAC9ByG,wBAAiCN,EAAUnG,GAA3C,SAGFgG,EAAMU,WAAa,aACnB,IAAMC,EAASlF,SAASmF,cAAc,UACtCD,EAAOD,UAAYV,EAAMU,UACzBC,EAAOP,UAAP,6CAAgEI,EAAhE,oCAAgHC,EAAhH,mCAEAR,EAAYC,cAAcW,aAAaF,EAAQV,KAInDtE,IAAW,WACT,IAAMmF,EAAerF,SAASuB,eAAe,YAC7C,GAAqB,OAAjB8D,EAAuB,CACzB,IAAMhF,EAAML,SAASuB,eAAe,mBACxB,OAARlB,EAEFgF,EAAa1B,WAAW2B,YAAYD,GAEpCvB,KAAKyB,aAAalF,KAOxBH,aAAoB,SAAUG,GAI5B,IAHA,IAAMmF,EAAanF,EAAIoF,SAAS,GAC5BC,EAAaF,EACbG,SACkC,IAA/BD,EAAWD,SAAStD,QAAwE,QAAvDwD,EAAOD,EAAWD,SAAS,GAAGA,SAAS,IAAI7B,SAAkB8B,EAAaC,EAElHD,IAAeF,GAAYnF,EAAI+E,aAAaM,EAAYF,IAG9DtF,SAAgB,WAEd,IADA,IAAM0F,EAAQ5F,SAASsE,iBAAiB,sBAC/B/F,EAAI,EAAGA,EAAIqH,EAAMzD,OAAQ5D,IAAKqH,EAAMrH,GAAG0G,WAAa,YAE7D,IAAK,IAAIY,EAAM,EAAGA,GAAO,EAAGA,IAE1B,IADA,IAAMC,EAAU9F,SAASsE,iBAAiB,kBAAoBuB,GACrDtH,EAAI,EAAGA,EAAIuH,EAAQ3D,OAAQ5D,IAAK,CACvC,IAAMwH,EAASD,EAAQvH,GACvBwH,EAAOpB,UAAP,aAAgCoB,EAAOC,GAAvC,+BAAwED,EAAOpB,UAA/E,SAAiGoB,EAAOpB,eAKtGzE","file":"jane.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 4a92ee521476a908e594","import {Jane} from './jane.js'\n\nimport '../css/style.scss'\n\n$(document).ready(function () {\n Jane.backToTop()\n Jane.mobileNavbar()\n Jane.toc()\n Jane.fancybox()\n})\n\nhljs.initHighlighting()\nJane.highlight()\n\n\n\n// WEBPACK FOOTER //\n// ./js/main.js","'use strict'\n\nconst Jane = {}\n\nJane.backToTop = function () {\n const $backToTop = $('#back-to-top')\n\n $(window).scroll(function () {\n if ($(window).scrollTop() > 100) {\n $backToTop.fadeIn(1000)\n } else {\n $backToTop.fadeOut(1000)\n }\n })\n\n $backToTop.click(function () {\n $('body,html').animate({ scrollTop: 0 })\n })\n}\n\nJane.mobileNavbar = function () {\n const $mobileNav = $('#mobile-navbar')\n const $mobileNavIcon = $('.mobile-navbar-icon')\n const slideout = new Slideout({\n 'panel': document.getElementById('mobile-panel'),\n 'menu': document.getElementById('mobile-menu'),\n 'padding': 180,\n 'tolerance': 70\n })\n slideout.disableTouch()\n\n $mobileNavIcon.click(function () {\n slideout.toggle()\n })\n\n slideout.on('beforeopen', function () {\n $mobileNav.addClass('fixed-open')\n $mobileNavIcon.addClass('icon-click').removeClass('icon-out')\n })\n\n slideout.on('beforeclose', function () {\n $mobileNav.removeClass('fixed-open')\n $mobileNavIcon.addClass('icon-out').removeClass('icon-click')\n })\n\n $('#mobile-panel').on('touchend', function () {\n slideout.isOpen() && $mobileNavIcon.click()\n })\n}\n\nJane._initToc = function () {\n const SPACING = 20\n const $toc = $('.post-toc')\n const $footer = $('.post-footer')\n\n if ($toc.length) {\n $('.content').css('width', '65em')\n $('.post').css('margin-left', '15em')\n // $('.content').css('background-color', '#fff')\n\n const minScrollTop = $toc.offset().top - SPACING\n const maxScrollTop = $footer.offset().top - $toc.height() - SPACING\n\n const tocState = {\n start: {\n 'position': 'absolute',\n 'top': minScrollTop\n },\n process: {\n 'position': 'fixed',\n 'top': SPACING\n },\n end: {\n 'position': 'absolute',\n 'top': maxScrollTop\n }\n }\n\n $(window).scroll(function () {\n const scrollTop = $(window).scrollTop()\n\n if (scrollTop < minScrollTop) {\n $toc.css(tocState.start)\n } else if (scrollTop > maxScrollTop) {\n $toc.css(tocState.end)\n } else {\n $toc.css(tocState.process)\n }\n })\n }\n\n const HEADERFIX = 30\n const $toclink = $('.toc-link')\n const $headerlink = $('.headerlink')\n const $tocLinkLis = $('.post-toc-content li')\n\n const headerlinkTop = $.map($headerlink, function (link) {\n return $(link).offset().top\n })\n\n const headerLinksOffsetForSearch = $.map(headerlinkTop, function (offset) {\n return offset - HEADERFIX\n })\n\n const searchActiveTocIndex = function (array, target) {\n for (let i = 0; i < array.length - 1; i++) {\n if (target > array[i] && target <= array[i + 1]) return i\n }\n if (target > array[array.length - 1]) return array.length - 1\n return -1\n }\n\n $(window).scroll(function () {\n const scrollTop = $(window).scrollTop()\n const activeTocIndex = searchActiveTocIndex(headerLinksOffsetForSearch, scrollTop)\n\n $($toclink).removeClass('active')\n $($tocLinkLis).removeClass('has-active')\n\n if (activeTocIndex !== -1) {\n $($toclink[activeTocIndex]).addClass('active')\n let ancestor = $toclink[activeTocIndex].parentNode\n while (ancestor.tagName !== 'NAV') {\n $(ancestor).addClass('has-active')\n ancestor = ancestor.parentNode.parentNode\n }\n }\n })\n}\n\nJane.fancybox = function () {\n if ($.fancybox) {\n $('.post-content').each(function () {\n $(this).find('img').each(function () {\n $(this).wrap(`<a class=\"fancybox\" href=\"${this.src}\" data-fancybox=\"gallery\" data-caption=\"${this.title}\"></a>`)\n })\n })\n\n $('.fancybox').fancybox({\n selector: '.fancybox',\n protect: true\n })\n }\n}\n\nJane.highlight = function () {\n const blocks = document.querySelectorAll('pre code')\n for (let i = 0; i < blocks.length; i++) {\n const block = blocks[i]\n const rootElement = block.parentElement\n const lineCodes = block.innerHTML.split(/\\n/).slice(0, -1)\n const lineLength = lineCodes.length\n\n let codeLineHtml = ''\n for (let i = 0; i < lineLength; i++) {\n codeLineHtml += `<div class=\"line\">${i + 1}</div>`\n }\n\n let codeHtml = ''\n for (let i = 0; i < lineLength; i++) {\n codeHtml += `<div class=\"line\">${lineCodes[i]}</div>`\n }\n\n block.className += ' highlight'\n const figure = document.createElement('figure')\n figure.className = block.className\n figure.innerHTML = `<table><tbody><tr><td class=\"gutter\"><pre>${codeLineHtml}</pre></td><td class=\"code\"><pre>${codeHtml}</pre></td></tr></tbody></table>`\n\n rootElement.parentElement.replaceChild(figure, rootElement)\n }\n}\n\nJane.toc = function () {\n const tocContainer = document.getElementById('post-toc')\n if (tocContainer !== null) {\n const toc = document.getElementById('TableOfContents')\n if (toc === null) {\n // toc = true, but there are no headings\n tocContainer.parentNode.removeChild(tocContainer)\n } else {\n this._refactorToc(toc)\n // this._linkToc()\n // this._initToc()\n }\n }\n}\n\nJane._refactorToc = function (toc) {\n const oldTocList = toc.children[0]\n let newTocList = oldTocList\n let temp\n while (newTocList.children.length === 1 && (temp = newTocList.children[0].children[0]).tagName === 'UL') newTocList = temp\n\n if (newTocList !== oldTocList) toc.replaceChild(newTocList, oldTocList)\n}\n\nJane._linkToc = function () {\n const links = document.querySelectorAll('#TableOfContents a')\n for (let i = 0; i < links.length; i++) links[i].className += ' toc-link'\n\n for (let num = 1; num <= 6; num++) {\n const headers = document.querySelectorAll('.post-content>h' + num)\n for (let i = 0; i < headers.length; i++) {\n const header = headers[i]\n header.innerHTML = `<a href=\"#${header.id}\" class=\"headerlink\" title=\"${header.innerHTML}\"></a>${header.innerHTML}`\n }\n }\n}\n\nexport {Jane}\n\n\n\n// WEBPACK FOOTER //\n// ./js/jane.js"],"sourceRoot":""} \ No newline at end of file