From bb6d51a602d1911b48a0e8b07a78ba0fb4186447 Mon Sep 17 00:00:00 2001 From: syui Date: Sat, 14 Jun 2025 08:28:02 +0900 Subject: [PATCH] fix css --- my-blog/static/css/style.css | 69 +++++++++++++-- my-blog/static/icomoon/fonts/icomoon.eot | Bin 0 -> 17624 bytes my-blog/static/icomoon/fonts/icomoon.svg | 34 ++++++++ my-blog/static/icomoon/fonts/icomoon.ttf | Bin 0 -> 17460 bytes my-blog/static/icomoon/fonts/icomoon.woff | Bin 0 -> 17536 bytes my-blog/static/icomoon/style.css | 99 ++++++++++++++++++++++ src/markdown.rs | 7 +- 7 files changed, 197 insertions(+), 12 deletions(-) create mode 100644 my-blog/static/icomoon/fonts/icomoon.eot create mode 100644 my-blog/static/icomoon/fonts/icomoon.svg create mode 100644 my-blog/static/icomoon/fonts/icomoon.ttf create mode 100644 my-blog/static/icomoon/fonts/icomoon.woff create mode 100644 my-blog/static/icomoon/style.css diff --git a/my-blog/static/css/style.css b/my-blog/static/css/style.css index 8478059..a1955a8 100644 --- a/my-blog/static/css/style.css +++ b/my-blog/static/css/style.css @@ -2,7 +2,7 @@ :root { --theme-color: #FF4500; --white: #fff; - --light-gray: #aaa; + --light-gray: #f6f8fa; --dark-gray: #666; --background: #fff; } @@ -65,9 +65,9 @@ body { /* Ask AI styles */ .ask-ai-btn { - background: var(--light-gray); + background: var(--theme-color); color: var(--white); - border: 2px solid var(--white); + /* border: 2px solid var(--white); */ padding: 8px 16px; border-radius: 6px; cursor: pointer; @@ -423,9 +423,9 @@ body { } .markdown-btn { - background: #fd7e14; + background: #d1d9e0; color: white; - border-color: #fd7e14; + /* border-color: #fd7e14; */ } .markdown-btn:hover { @@ -479,7 +479,7 @@ body { color: #656d76; } -/* Molokai-inspired code blocks */ +/* Code blocks - Molokai theme */ .article-body pre { background: #1B1D1E; border: 1px solid #3E3D32; @@ -516,13 +516,13 @@ body { /* Inline code */ .article-body code { - background: #2F3129; - color: #A6E22E; + background: #f5f5f5; + color: var(--theme-color); padding: 2px 6px; border-radius: 4px; font-family: 'SF Mono', 'Monaco', 'Cascadia Code', 'Roboto Mono', monospace; font-size: 13px; - border: 1px solid #3E3D32; + /* border: 1px solid var(--white); */ } /* Molokai color scheme for syntax highlighting */ @@ -1062,6 +1062,18 @@ body { background: #fef2f2; } +/* Fix long URI display on mobile */ +.chat-message small, +.comment-item small { + word-wrap: break-word; + word-break: break-all; + overflow-wrap: break-word; + display: block; + font-size: 12px; + color: #656d76; + margin-top: 4px; +} + .message-header { display: flex; align-items: center; @@ -1160,3 +1172,42 @@ body { margin-bottom: 8px; } } + +/* Mobile optimizations for screens under 700px */ +@media (max-width: 700px) { + .comment-section { + max-width: 100%; + padding: 0 16px; + box-sizing: border-box; + } + + .app-main { + max-width: 100%; + padding: 20px 16px; + box-sizing: border-box; + } + + /* Ensure long URIs break properly on small screens */ + .chat-message small, + .comment-item small { + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + } + + /* Adjust spacing for mobile */ + .comment-item, + .chat-message { + margin-bottom: 8px; + } + + /* Stack buttons vertically on very small screens */ + .button-group { + flex-direction: column; + width: 100%; + } + + .button-group button { + width: 100%; + } +} diff --git a/my-blog/static/icomoon/fonts/icomoon.eot b/my-blog/static/icomoon/fonts/icomoon.eot new file mode 100644 index 0000000000000000000000000000000000000000..95caa7b0d8ddaeb12388a6c93d00d66167eb0487 GIT binary patch literal 17624 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 z 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 + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/my-blog/static/icomoon/fonts/icomoon.ttf b/my-blog/static/icomoon/fonts/icomoon.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c0fa4d6b90c59ab92879475db408174850cf0db7 GIT binary patch literal 17460 zcmcJXd5|R8UEk~FeP>ox)?M9Q-PK)v&U77p%+=jHv$L}r?X6?AE3KrRJv1xrF{?e0 zWNC!}SqKR%!wLdyA}nMGg=JY_V+R6cyaGGG_zDcR0plZ#BOGg)2nS$J?W{k)m(@MJ zD?#`l*HmX^zI^%K@BQBI_x&C3<&;#ZR0>NUE19L?U2onTrxib;mK7i;q3|+y~#o3D+-ic>0NJ4`2C@Kk%y;OQj1#uFpJq<%3U`mW}V_ z`U$RkPhENP(I0uE|L0s&ratlXwP&A$PCgfNxnDBP|3%Mssbu_!@h>U)O!2F}UYaOh z>K*$i$bRkTrc&wae`3D$>Pw}YO#Zkjyg2;y^ojH)e_ieszoxF$Em@_zDbM&P<*L+s zS-t%0FaL+H|H-Sby!t97B}z&!|I*9Doxg$1!-X5NLP-u=h9fB zwg=M4vOeyP<$N@(H@Lwwazpp4HsAS#X*kMMd>zAl{9Qk>S$3Yk;~ftdrKWGa<@rw? zc;5L>ss~QpqwYEV=}+H%+A!DGA6;Ej>P^agaqoV`=f%DIIKJ|-rdX5ZVKDAakhzGZp4O^AN zFbm!L{LOZIMj3BdumdA-MdFy}UuB-}EB$WikB-f;TTFnPJAIjmyqN8Vp7^@3o{6g$ z)1W6;4l>DGG7}4fZ7m5?aga$g^+Zqd`edl3K~I0t=xDsNt!MN=CUb5oWK3>oDr8@)n7x@wh+6~aM0HhAiZyMmj-98aDM($7skUw)ALM27;Eh9zqq%D4AsJH4w2Z~dvSkH-(c=M6J{H#)4eo5 zA6jPzOQ(%^w*2{^?RrQ9twg;nF2{VcULtDM+X zr?Q%xHdh1wY%^c2I8{3-TU;5mh-_P?Sq;O69a>g94L?`!`$3e~&$XP?sz#l(UopR5 zAql4#lgXHF?RKHXu$*i;vu$WMjQu?ZWhlo}%JUc_m-~jnXlW0!c5h`=CZjr~ ze9yT42Vn={hX}(@ZQ3yH)Q3eX^4w0?vF+5hBc~BXIYWZ(pdCkf;`p4_SF0{Vs90*y z*{IbvIs;`@7^z!btus>JN%AOe2b?mpJc=4lWLxbl{Gd6Lw{|KuyKJV;%*9&hTN+=H z+i#dJ8Q2GPMonhb1bN99L`HHgx&P@+h4Sb*Ha;>KIPGzPq}vuOFWZHL|Qlc>73@|Duz@!szJM zU_qW*7zicBz>l|CoNE9rV3fZ4sLq1ZUl{aJlm)G##Zk9Y0BNDba$M8UTJ%DFN`_l< zq-AHJ7(OivH--z+_&4|dx)O$&OyT-QUo?199jWXTOAa-d%WrY(oO(T@hC<%%*3S0M z@S9sGN+z_qwKF=_vXmDkr_?rrR8Rtb42CjHS{v_77_$1^bS^dQ0$0&OG=M``55roB z_S>O@PI;m{K3Zld{WWdN2^|yTp&^1NEL0CY6y=f=!?pxz^v9BisY!Kx?PVyYauTeC z<-{&cx|ZRXmT#F3y;xj2v4j3oi>IV1ngB>RK{Fj%rYRGWp$uK6*fwd4Fa2n`cu=&= zH7&@6IET875ljd%qK4(#7U(8VnRZ}Vj^RRwDMvd*Wh=g436v8!c0fl8YIx3|n~+Ny zGGK&Bn{=bwmxl}pl%YsZCMd>D<)t3ob3;Ewm$qkdM^kSwUTKNix((CiLT*i2s?SZJ z+5&iN>@+O!t%5z44}w}AEh!54x~WUgP$+E`T)8o!Fpm%SXyF*qX5c8Ea}pOa{c7MQ zu8Lc+#S|9v1l2rdm_Lm;APXw#CeS~7b_Qz&tTHO5;*bSYWJ;uWdZQy|6jsYTXsMBM z8L=|l$dzAH1=WDQg^k&4s^WGGH6GP%=n}p%EV_ppfD^9D5QM|b8eK8@a74>Z!A)u- zJ@3~qJ@fr^+Gk**heYSf{U2QoI}(No^m05 z2v;S8j8rMTjBjd7+L7BQuD2LYpNgN(Ly}Bb^`! zCQ`stNNO=ak$qS#lnbYMkbg2Dvyg5IAq)+sFTd*hWlv>unQ&i)jgXEQEX^X`!dxg( zuAF*_=Y%$TAv~o}3sqy-;6apDApm;Jg&%IdijVc3hyGPfyB`>pDgK_sFL4e%u7r!7 zsmlyH;o20wFXuOm2vG0jN9JiX6ezvnZHal~i=7(|isI=#=|=te;;4$zKN)2+ne7<8 zWM&0l!*^P9b9WC%XOp}fogRVYvoES4o$C}XS+SeYcg74+h-_@K?RoPxDPp!_td5vi=IHr&N zT)1_^`78>L*+^|;VC>X{6Asld=Y^F`v{(5$15;cccR1?O#rB~q%+wy8Pw-IHU6((a zt*D<;KlR}9M~1^&4QqSf3KKH`d#(6Pg%cCMF97yc=tQ%wla5X0S$>4ji!-)%+gvy& zYNm{4J?aFWhh~WM+OyHzZEG1q?3iKTn4r3E>Z1|&YBEQTZWnX_hLs!5xt1M*2cpS_ z0p_5arg{6?WxsJf`O`mDzrS05L$|Z4jG51e?Vj6k%(B;gX2Gf05*bx6E~u#;i7z;? zRpMp!*mfPO*$+)$noRuunaFlRFH3?n4RXOS&kFlZU%5tT=atZ@xNh0TQFO~z^W17{ z2}J{}I9_ZQ^Q)Z4Q|KUnu>ts;Ns;8Ibue=E@oD?hJ5R zbdbs~-y*av&e5>lo#`A;^vUiHGmUQMRG1L5?9^Rnyt^}&a6(5gMMxx?S|4-dtE-I> zwc@e}kq^&l0Ws2nt>~|uxQ-O!TX8O7G?DMtw1Vp*iHCk;A9*|!KmzIGvRun0>@Ff@ zO+$mb6!M6Ufgq`96FHVgrCI%z;T`&raH*h@ql^Iw)pSTrQO&40Du|d=S2<1`dQ4+r`(guqY_zf+Y@YAC z4i?2TUB`2M*TMxtasxXE%4fcNzc*=bZq}MoTg(^QAmLXiW)D#i^M%1TTst5d7qjG< zK^05D9moD^kSS}i5;UE#92m;8t=upB4aSBtQiPd|Ui7ag?xfmgmjd&3K_bymsNlohw-!II#tnzl&^l!&bWH~>Ka#?5daMmxk#4&@@%FVPX7l`0-yurQZ!p!#jcj~RY zS`G5h`=Rtq1VKz3_QYk{tjO``|BGUk15{glRR2U?sRj+0ZvhInw-MuC7-`M6Lc~hu zyEN6^q4|<}tNLf^_l<{->F%M_lWQmxgn(ak`taKyBIfAL=n#;n+WfjWL|-0-E2(Jy zWGwnt%SGBJTG2$G4k?mx648`2g0k$MndV6fXwWH+ zQK7HLv=-2x6MYlQuT_?#w8gO~(amvrpr-aqY)}CVTG0z!q2xgFA5%;jZ1KeQ7Onz7 zx7FuzXHc+gv>^S!GIamQa519es8T>-feajvkO6Gj+CE3r1PL@U(nn5?5<8sp#h?{T zC@$r=L+(XbBT+Oh>%s;fy?`Tif0e#2noKCR!gev|=Vl0%bZIbZmyjvl03wQB+iu zu@o|a6QobX+d2k|$H`+}m=5E&$r=JbNGXb*6Kvsinq3T~ge`gj00gb$maw!ZaYeH;3Vd7QhleHcF1u$QS}EitylR z+_D|j$THj~26js*R9RLn4FFFfRY4i;!<#s{_`MJX#^@j}0dC-cb^=u3x(rYN*6@BM z2eZJPR_G*lIAa-QzurjQx|d@5#cN2Q(s0^k&uT`P0CAxKZqmb6Y{3W_vTbFK6BS_t z-Udz%umre9h8?6o55CbAfq=2RRK|~I9&DfRj}h69#F_m2sFgZS*@e9_Bwz>98KGb% z31#?6i)Jm3Dv(ZuCQU+Ds(^7o-wPyU3IS97h((q-SjIkiPAp@C`63WLxjOR-)nZQ~ zR4YoBBm{JWRt$G(6LZM$BvvJyab3frQE^kW6i^dcV6-?-5<4)na!EQlm8YzqeDAGs zMqibX?u?sbqPq9I`llHnk#m`;e34`cNZmg3y@5}vUpW#IEZn`& zcO1x;d6zg&#zj!-o0j;YOoss%BslcQf*_>clQM9~PuAD)9Q4?bE?is3wL|crZ?#06+fe7?auPC5NB8BJyc5IL(jt8$$cQT%6 zo~>h!!sk4J-P%(BK>dcXaKml^O4KS_4(!Em&8enSOlg<`wXH zyuqT5pr5pvPjHvHVvt*6o*HgNx7%tr*FfZ#Ve5G6v9SlD5V+)KtJWBsl zXH(at@^KKIX6YE5#5NjqkKlH^GsR%>IkoXQG*c4Y?hI1872{O+;vhf4Z9(Ac)0)K~ zvG1BSM@}%6Z-mE%M|k_*ekx%5(4 zrqQwdu7up0CxsI+B|Q-v%QMBdXytfYMWe>=2%3@Eb8rwv^zbnev^i{#=f>1JuUp12s($S1rNWFt?O;--SSGGb9;fHJT6c5L~va+EK`QI9WOVnWx!2XnUU z&qV%i@C7dxNU6uIhD#rqV=RJLW;kFQAD4&|MhOL2ddFyZeqqj5BL74b&B^?7 zNk?Mh9KYFFsML~HAS060r2fFeh}^4Ym^=#;C3VXYz|s-{i>S%C=|DFqOxNJYh{VsK z+$1>-vhD0 zr0BRr#6YY~Idp>1Pcq;AEWOhco>O5ok*vt{YvS-QP1qgmkN~yVAYj(AEL;RlGPAEu zvZO%K7rco^83sjOW!_)f>DnZz$jgN?1`Nh@&{&J$?EQ?bg`{fvk8KZb&jzl6hsmK(;a0@XYDu%Sz6)oxSUZg*`F_+lP_i5uY@WPc5lLXMpu#^i|l|qngFZ zDA%FQVGMW}d5Eo)fN!h|2o(9npz7$4oGunr(l?lhSy@Xe>_L$jqEO79wtPikS4e;q z9-4$IYsvTLTqw~Vb9ghjc@)7=R6-RAnxpEhDNLYkU z+78mRYy5X016<-Cnp4IFLeLw2h(W2QqNEKAN2yYY?Xnvs06E%7xDpvwEq2X32&$lS zVzbO#c3nRqnP3ddv9=I|HzYn#Iy@=c^KlR@(mbFIe*bjU#q~+wBVzRK*e-T22tAU; zC>x@IzYeqlnwW#RfLswSuIOh0X{2b7W7gG?8=Owdkqi;QL2J52!)T=Qv_;zhnvejj z=n#v146r3sX}xFsU>DdT+E4QW{OAIlkRk&+P5wg=6W`YOABxZbbioDm!&y9HR@Cz_ zZdNOuGV9@zQ~~3Vb_{Dl2aTdC%BXpEJqYV|kkA7727F@h>3rVD4$`eyA?ZiR!eZmO zf|Zble*lFNnP}onuUPm2#65CNtTzF^Oo}5>f?%*=&&F6Y(qqCx?n+V?tP*I|>=2s_ z;LGY*hN)qc;(k*drZ8i;(##e#IuTw0G!h+?rh^pC6Nb!!VnHjpE#a9!u7!^c0NXyo zLF~lDLI~=5l$VdVAhoMg@_J=rDpy|%U!_>oty zpI=^CH-GkD<%7Z1gZ)dbQNz6cYG-Bh#ER;?TA#Ep9UNR8465qRUxxj2v-eIWla1BY zb6FWy`MtTf?`%)j*05K$QVzQ9@NMN(K8-L|3Z}|xJ%P=lp{M^kqD|PeDpSySw!uag&e((7U z^{^r?#OPq%wYu5j!EBU^m6XUnJ++SX`g6MzETjHpq51dKt;69P4ExVM`yRtsUVdP} z=Yi#A!?^R#uikm5(d*r_G>9GcDLt^*vWzUKErKG3dFn?$a=(Fl>GfJ}OxW6+%_`M* z-E+?iPu_Xg)n?0grhAos2HtGLo9E$9F{6iakk`-Rw%6rbfT~7T20G}oVS-gO9bdTi zP|Lv-=eGvC+hPy^zoI%A%8sFRH94bdHX+-PR$Vqh=!Dq>q%_vdYUR>o>(c7d;%=7h zef$@Tp$Bg3p%>Q{mv+-^@2}qdj1+=OpU$$KrNy-uue2~?e5y&>XuM%OzGd%ianx)_ z@i$)XkCUL;BpabtHx|cg+&5RPYW33g)}^(jrQLGIQ>Jlo^U?;ni1&Yc}cRlHSGk#r{}&UZe4G|HwD_Bzzo~9@8>*lm(p% znf@vGp)F8hNJP~1cPeN{tB-}mO~vh4yt=MTNfd7H>}hMOehcq+<84dxXY=JA$>wOK z)9H=RocZ9{b6e$3R;fkv^R-5@&}*`=|%j|4xDbLNU+z;#JO0zP4a&LV9`pn5j ztDmN2U{$>lECffZw%3YkE3L+$9cQz%c{!M|Nbq^HtW4#3U0t|v_UwJ_wqUlnc2oTN zoAB@5rBXFjIUCU$dE+pQ#KspX(IXFI${zq~OqRD0Jd)I+wK`QTJJ}lfB%h3XlbsO) zo1vi#2yK6%|7-7L>R8?yqzmiln2o)X>kz2`oHL!oQmS3qsK@8(>wwc6J>p5T8$d z^rPwof9f3%{O=EZ+qU^8_13x3_}%>lm4@MR+Fxfp1UQz;SX@C^als^FG>ledqY>{n z8V74MhD4od?(96hzD|oTyr4GtQ&XJ!1$eL~Tqt&iislvG%VBarmbbLX6iy50Q`sr9 zwFN7tN1X{NYH#DJ6j|j$CmZV5$B(VO`*93P?dlun?q0g}ubsc}p7}--_zd$)<77vI z)b#Rv`cV1t#;}Rg;RkiwA+1<(oUPfNK^}Omd_G$qlfV`0Yt@sP)zwFKPn|aYwoy%b z?>QAWqP1J=K}uMhW#jqA$yQ~t+}o--70h5HF2si65}46)js0 zM(u{m9i}!4t3Q z(hu_S2|7*lUCOAFXC-P!9}O#u2nJC}CyMKx&VIkY)Y_}#@tJ>6-=E$6(796&FX3zw zvNZzcm-MkZQ|&LWyk%o!+PsgBmK0ofP%sU-BPJ{Kw&U8k-?JJv= z4Ypra$yS?2!|va@bo#xc%87E=lx@7wwb((V!w!xMnfB0{Zmpyicf2s5@3W=F|I!v6FmqVCF+0eA9N5GsF zn{SJmmR*5^1-IJpDVN#Y84X1{>kX_LE>i(S&NLvM>Mi#tH7wugoZ34SfunX$PFJVU zWdhdCV%5Bexu#+0aTkP5l0vR_P>OJc&2{PzNR_CAgCE*IfR(t0c#7&^pGy^FemaxL zy#p4(nOSlGuG%jyGnf4Y|N3j!KYIOzudVd^+i8}j+x`B^^&g5Y0E&#W1ORq5!rvy* z9CtFS5hP~V3E6LwwftC^mR0Kd?|<$33+lVR zw%lLbO0z88TI?_P6HCP&%Ow4(~)f4lz&U&pe>zh&72|{ysGfvo6?Z)%I zwX^W%@4IV$+wR@F8pUBHCs^wwb;Ij5XWqE#t*>1>eOf)(Xkx%6%uM`xn9gRxYVo>Q zs4$FXgA`p5y6*KCnaz5Ios3RkhB0;&m%R}NPoMFIcc+A0hFNy4vr7-$w{*sy39Dql%7a?jd^2ifW>{}@;tD_< zk_=@trZPf;bmSW6X3MoY=UE^$*ip{2f$W`jB>uAGy^ula@zM*t+wrB+ui(jOvrw)U zvp(Mw&^S=l!?pGK1(|fG&#X_a5R-Xi@DYW>jlx>(S!b2qz@q;HS&}}Mb(j53A`p_0 zpGO9m^aC|duVTuua+~U??3)Tj7J-pDwS;G0$g6fWXr}NmBn-M-SqKO(Y{Zr5r!#*L=3B1f*|`n`A}Iy8efFPXcF>*ua|Iwf!AO1(GBP?Ykx~NI=at zjCOM8>O=M`pKtfr3=`Dx?Y!BF?Cuu_vnm+{^LC?|Ww&4d!|OjAmAfJZrrl+^_}1Tg z#;eVdCRV?f#$;fUwWePylQSp5ZN=m1%UzJyh6)L6U_lCN zr%U>I5$hIU^_R$(EX1hVye#$Wm7DpRz>SvF!b5tEu>9AVNu$w`ypLgZ8jZ=E)o8x$ z;NZ=wb4wN?MX?7kgzyp_@8;32`v=D+?L8GJ?2dQRGF4R!}DQ zR8KlLH!U^{w;Ye1ZtON9ArgiwEuW2}5vwI??)vZi*+EvVX8V7pmae}vyQsoAYM0|M zSjcm?j(?ALB_XXTh-CqQXl1AklkD3s zD(;L)2~1sX{R)#v0Q*vakweo$t1d(NM(LMXKZ@pLR|hK!UKYibpnalRZhA}rQxG|< z%*Ub>lK)DAE;y^)dRiT}!%7@yvWcTPO9Dd{_O;>(udDdQtX-j@qPBd9UcZWiEBQOu z7>_$ifH3GI2ytsqL0I7qs1 zj19Me&h7CoBv|m>s>SZD&!`_)e`M?#Pa5BI+~;7jn2;jeDD-_gtFN7!V%iCX|AORJ zfd)rz=2S|wtQ^mZAAjLPFW(-MxI+308m1xCj&4@g>klI$ZXc)bMn8kYkXNF6F`07f z&}PbcVFzE=-{FGI^bHp3@Os>wwt&>s3I3xlijBcXmtsC4M!WjE#TrIIdy#HH+pwd& zVaWqDLg;-UjlRyGG{uZ?C8vlVjlmCs%A*G}?r$O+6K}HU;j&B1fMk9A% zI_xIckyS4)nE>5!V^_1BF)$>VV!bXS^TYN*^=rd>*EeonT-nbs`+g8MTeoa%Z1rzj zNpH*U`u>A-6fKQ$0bM^HE`(d@)^i60{gs=8hldX>FN`{s)j003kV}O@V|Hoj-qCQY zd1v$H4{qn{ndGPD+`d$*cLR9su?>hc?qWMNnFa-Np_#1 z+a%vvIFQ`GXBlCyI{(I#-QAg(J)g3sAPHPF7uX;MwrP@O*z6RKM~gTy275U_*R6O-r|J?1NdTW3RylC1vbaJ|nXKZ< zI!_|+^GQU{!FKPjtYjWd+fk5N*$NwmtnaKZmkE#w!q^6sEI+b+;=v8#V$X`_+Bp0T zSu?gyw`ck(fms#G9Dg~ev=gVt8ws-6TQY)B8L{5`n*f{bC%~8QReW}mJ*zUf^KUSA&}*|6*Q@Ws@9hA_^yswGJgwB8x?Y=_EPWF{bfaoB+;90$4WwV|y)=>OXj(lu4xZG{d&0;BgXWJVG z&7>-eKwiV)J(7rxhNfBZ+1}vt9w^QR5s5pl(&hC}q;1=*%-+7((AE`G$kIJKL`cLL z;ao<3E$Sg$L@s5qm(k7QReScgk7t8&Dhpk7Zd4H{PPi=ACW*xKhBwzvPjpkZkh#fv zxfh8WjETb#T9wn5`A$E;)tw2UD2Z3juo|g3WV>nT`luakGH##j4|~Imo6B`vw<=m9 zVVi7#5NY>_v5;fd@JzA@m_3%lWKRt17VM@DeU{eB?8GL$z{t`7vr5j27g|p=d!06H zW&m@tT+*)CBi8xETPK6-1W!_sqRP%8TD=bjSazAbDE-;W_>P6NuBshvT#*eJO`-ai_SJ z$K?9|=b!E=DCMPDRWY8j|Ecpa_hbIMqMu8DA$zKFd*!jpZ&x47qx?&?leJ&0|8~=9 zMeVK5uzP0ifAXYI-!(oZ{sy1JQR<87At`-%I!0A;DJ#ZnaQ@)*+~j;`dTw$4{Pf)B zf3c`d&mGEdo1O=ycIi{{KQ354B?)(mbA$7%({q#az3I8d`A4SbcBx+KP0t<5-!wfB zN?WBLfA7QBp1gMLsnUB(50|c$p5*UZ>8X1kedgKsUVExHIyo%eTY9wgOzBxFaD#S6 zrIV%Mw|web7QX4xtIt1iox)?M9Q-PK)v&U77p%=Aom@6685YP7c`R=d(l+EcUA9wY66 zBugs<$U+FP3@Zq*9bq9u5XQ2QjU5P(@e1q!<0~+-EigX9IKp1bL^uF*YG?iVy{zu( zUC9prJE zUHk~eJ^B5+ANuu6Pd)TO?qB>8=RN&fHopJqhn{+jYhR=9Pss1b-su1N`>s9v9OHfP zxSmPLH2;VC%O$&1GJeeXXPke!_^ZBNnkb+1lOL6xJd^TGrP9~`#C+-1mr6I8{J5fd z%3t~P^ilUhsmnbncR5O}ZpkX$&EJfFa$S{rFRPb-^W}g0^*?#_l~-To3N5@`dihsg z{?}jsV|_)v`nwIQesld|-k-LiD;*zHN%34NtwT`>ii}ce_pB!A|MeQ2c=aXor+M~N z>0;^4r5`H&IHV=Y)!$lPZ_KLVyL+IHzuQ}b<SydZ5shsZaNR^$*xUOon z(02yghw4CaURye9ht^VQvgRyE0|Q68a-=<%#uBwXkVcmEad#}`(Xig&2G7V1-LKkw z$CIYvC{yuu4D*S1{^VxadH#;KKT=#Zed{gHf9lZlE__lwaONI$&)M($zPryF=KA_$ zt7}TVNtrM1->>+*xPKqVS6;S!!*rbXz_Sg*NL^P&zE^W1*NZxpa3%G<(5ZP|Z1|yP z7|vk936%<6CvfdvyW={`t>wkK=^IJktgMYp!!w1S1?3>mcJ`i2TUM}{w-TB{tygImjnt;%7Th3|zDz`3%yvUhd|g=2#MO&w(32|%ndB{*iG{(omV~J|$RwJ2 zq9=KMGSt$br@v@)G~U_PGkPeKIX4wDrnXje!;`sF8#*-zDZUHNh|{j>uOVt%h}~#7 z=xYg(-Z|YGY!~z(CPzZKDFh1T4H=LOKohJ*O#Pu>^^CJigL76mKYzIk80lDf>0+YVc{oj6u#H^Q)Lnih?7lU|ioPVA~vSlo!?0n8meo$f&(`~X5asprEhn|AQ77$J%pX)p!WqV7GNxO*U1%{ZCtJ>J8`=%y zV4p!5%JG!)JjTfBfnhLO+oqCZQB>XTt&GZKRA-d$8Q1?H>>&IQVfd*{8>XH5ut-Io z+X*|io!WNfG@>YHNYEX$<0wxYpJIKr>N13ir3RgiT5Y2BlVpmkK%Sf zk&)$5)Nmr(YG>gG&6&KlQ>ocyGj(Pz)k5FW_=?BL=LHZvZgN6Y$2l4V_rujNA=vzhoTh=`AEy7bUM_X zzV4|LIQjbS>bkyud@9t)vKHa(V?q8u6$T5V<6DCTd1_%GloSI$*=AAJ09wE(ef3eD z1*g9-=%XkLT1AVaZl?g!LW$+LrlGayh5B3>Zpo3BorPlfv@F~hE=c3w-23aUFwA5M z*Ejm2!PDwkWv5tjq`{nii(BW_>lrl^@^-g&ws(f#+(L0>LYrGVqZ2L5_2SAIwT&PZ zlz<GVg0--m*riF=G91(LEz_YFi&H0d(0^+2 zlr%*X00{*&)1hUWG9ekt&{ZzmCT;PhA59kzik7*i1-TICP?s@+2_Z(*uw2^$-Q+3L z4lK(tT<9?6Xosk5#rG?LastN==tw~g&lz+Ra!Nx6j4)}FZgl(dkO6@*6zRzX#ki@w z)T4WD=!fXi_AKsb>J7##Em2#yVY-~ittm@&*#xRBfXBv8!vfzb*kk!1sO8a;;sRec zb?F%jrLBT1HzpM3@!=jVoFLi^9K~}^;zFih4cx?4aVxf%!eXAFn#TtPD4D<*%uNYCzw@#%wlKaXW?@ zkLosb311l&-9rt)30GwZ!eM5Ou9$o{qUEOGCbf|sW|F#GfeADrBVazHKAb^1W!5+q z{=pSySL6qxg^GgpLN({uN4ca07cr4Jho~DoYxlp29DSCZOvgD9;+ z0Q8s(Kiqs3AM3l0{HvOFKQJm&{5_3d;v9Kg2`4*Kml<@zwJCgG$~TM%Q19f&=4mt( zD81oriFxCTof{5{%hP+(jr#M&Q5BX)<(4& zukLR|6%^p_Kk)2&gp+zYNSYxogPXKc+?RN~fBuK>zyH0hCEx9}T7x)7Uu<*r-o@Ef zm!4dwe6SkV%9U0enqE84c6*N3YMyVllv?)7y%b2weJe85aN+dk=DkZx?Kge=J>69Y z4}nll`?g<%@8#0p(wt9K*#~2%4pW3PT+ZHhDfhH8_nIemLbHB z83v9Cs{5us8gZ{CbL8lDK?h)1xzU_!*&%o!nrs+g4!UWYx369C8`qOR{ZsY(yY)A8 zJFCi=`CQoUxedoGd);RioQf@xQ3d0In%a^0f&*J6URIB7*Rh)Y(DbFr#P9D#wi9|; z5~OL63x;`C*l+sEH9|YDgighE%QlXpTeh0#S6fRc8W5$#mIyWBtdWI5%XJemCyr$| zGX-c9S4(Vj$o&6O>5o-SU7pH-%zrUg&R}&RD_;9l;bKk!Wgt%#p9IHb&Hn(;`GZD$@dDqyt;gUn#hbT*SAc zEMYW}@7A<}>mrFqeq$ebJQ6?x>65Zt%O&hCB4tfOgS%Yh5gh|TQqd-IERRaF`YXdb z@*&|;K_y2S0}`s~kebHt0j`J;c_no3>~KvwVEBj z8}y=@QE^ldF{!R{oH+ED#=!Q)2Kv}&WjokB-*+7>if6ix=lZUN3xwnbb`X^JzUQDf zX>V@Uno?WL7uq1}DQz#oy=; zpSrYp`*Iu@%CoK9FZ<<6lGA#GLH3FEMEk@plUvY+-i8bm+IA#B1qFOt{4#NruyU5? z&Dza)p*_5I@zk9wSsXaA1((2lvuqd`GY3yeY&P}}w=l5Ld1ubEkD4VZ5M3bwZq<6jtQ&9*|sO6I#X)!m`_lKM9FkJaxRkDSomBdI6X zP$&oizv%SQw?9P8(VNi`AWyaVb#aJ3Jq}k=(fr9+^sSbQv`@66i9R1e04hBx6#hUm zThp3a`Kdn|5*5}Zz7Qp%DQN^{+1;DwNeXDtDUMO0uP3w?(4P~16U(nvmZP-AvACj} z7LM|*Wl8jxn0>oK4C=beqON!9zBQ`g1oIn|g=O=ipN`W(N zc@TfrNE=~RNx?tke636tB_m+8c^*>+pwTgj7)&jyZHKOBpyVFC;DG`ISZ@_LJ{m$1 zU3VSd&#W*F$nMQyxS<8G#E*@VlQc4hz=|R~cpA5CM>Vnx_lbes5(-t8RZ9cFlSoxi zM*Hw4PA+~gM1e6nh)aMQIG~*X6}T<~6o56nU(3NPaHkbIi5<>ZM%k}7Qn&7pauoYV{LWXQxnd3x7*nqczlLIUPu90B}=`VtBbVVRwEH9Pu z);J@vX1O6xuZHB>iZI2ZAwBmxND|SI zFa^nQ5LHYk#L0)TdI(EVw!MUBERP(oU2!o=)PfyI)D7Zz001YH(h;H+2Yv$6j1}ac zy6+UyfO({vW?b8osGCk1h8_dv4TB>9&a~MykKpKhAJ*IsV&9jn0)sO@k4Ng5{#=X~ zm(4IA%!I`EB3$y7C{CHVGCG0Nj^jE{*$WGIFZ3M;vSr>Sj+1c_l=`M6ekjvnzy%2o zJ+dGOsrQr&9P*R(H9QABHlz#J*70r0MubOdJ12;E{F~WAN#QdMjjod|EaU7Yf||nh)%O~3{GMj4Z6p0JKmXM zu=t$X_#BxjiEeiWDcy>3DtvK}pWwD2@bziUVvyK(&6;B;n94W8?Gs}K zjtMG^6x1A<+-X)&j1-US#b#>y+QMG$!F3WN(o{HSo`B*n2S{`BT5}^oi0PY1gv^f!jDh;8+ z(um->&6Hafyh5SetU_1fic~zWW(^rzbq8 z!e}B{k?GgO;bEGvJJ=xsYOz7UtYula2%2POUz=n}fub*X6OA$qioD9azqHe}Nm7xQ z3uOwJQPbTJ-v!Cg%=mbEIu%Dta=ao+SYqEdiAfWN^f{3_tse3hTL<_{LB&}Xr#|+} zF%mOI@x&a7L~K%#DT3h^Vn9?3X|KsWt&~2jZGf8t%{2~%=UV{6wya%pD7;e~*W(No zcr`PP%IA!Feq-rVuiqS_i$+UH^63_eBY3)fXyBns0Hpp^v#uw)TiMvC>Saw;Z&o|q z$~QhC`K3?Xc224JxM^7-E}yQ6#q1I|}2Z>5?O#im}bEb-BBcq?pU8!#_r(lRS)MF z&tR?cw$rz+N=nJdy!kHjDSAxC$-=ned4zej)eObm9DUoFw|V)@%!A8kPWPrc)dqI< zt{WEi*c5CZMTWi;T2f&Tio_5X#q4RzR|Iy21jxlB^H9Vfkfy)##L*o|)aY=HwLTfj z37bN-W6N}0F09U3OXk?%gklh^%If_#;_b~3qg28;sd3_ zld?S@2hk$U1KQyCPgh-BpY%NX8V)ug3BUy~HAsYDWKr5h$IhYH`72)EFeio2M ziUv7mT^+f>>9icl5CI&trdu?OMmkShv<;vM3BZaDvB<{&TSArAd&UoTfi0r_G%vu9 zF2D)7WMHSse+XjY+Zz8>5gLFlxPX2*i$~0gdLG8jYNbwqpVJ+yOQB*}4 zHP5aGVciZAS^(dGPYgbt&->Uxx)m!V{RmlDY&=)664LMwpim+cO`Pc!3qOFkN3MzW zCcu|TaU@C*3^wf97;8p)OjyWWNy>s%0qx-W(-%F*@8wV z!YhDAqGQr@kfM3QkXcYHXeGBLJQK*Z@Ua14+ebKvotRh%L0ymY^6cqSq;_>mUaw57 zd`&RvYxjT0$L=$?KT<%(3zI8X^ro~TpZ}-ia|fj>@}$;hrzT$5vdKoG2^&dvU3(d= z8R=~(gH6Ll&9&EzW{PS%%Y%jKipX?{Wnvf~INaL4y;gG^^?qeeK6?3<7bdX#eVo^8 zcWiARm>cIw$!)E!?u4WQ>WzzQYo}Qf++JJT3H->b*DoxuteZdo&-20H>fyoV)~I1# zf3>r+d1^&iMh;tNh;F+jh1m>uj*dvgw+| z-(!rYN)KvegJ_+bnvPek`#4Tk+^pLw@oEH6JW;Pb%pvSHkL=a=ui)9Cf?SsKI+ z`;;D7Y*|JY)D}Sz!#wlXK61Z-d+GIBZcNzPo6RcKciwZ)3s2p7*VSgrccy!leh%Jj z!<*;fPBEiLa*)^0;kMW1TY#!YRt7rgvtfc&G#y{K_E5{g6z8`FyW3(A0KcL-7|M>J zbv4;jHJgxaNUJWJAaufP0#X`lX0>v8vUPcNX>m8p_CNm1#n1z{_3(>pi%Yv{w*MFJ zenu{WO5c}dJ4=geFFw@5i1Dc=X`}Im@%Wbgx5iPk9mU^xxj#;VW|M4$THRP2t8w34 zwW`(2+gq2{mX>zQ8BdwUrOnG56 zkA=id#qC7Ax~@z~6mIYAYip~13-5R1txNOg^5q`M=4hqU>5cdHK6vi@R=JZ^YSH|B zt&uD=o5Q);-6iif_rZh>RlZ>_yUARX&%|LY`3Agh1kg&H`nkpVJNqnIRlVFcuYh;G zR()^o{3mZ+9Sm-nooy}UxtW#wVZB^wR>n{5kMCcfIo)XW)3gk%syBj#;AqwMT2XDK z)flwnY<4y;2QwB4K5v$lsXVW%ix|sp#13-<*@)m+el3KJ@r>bQqTO*(3lW}jdGeTf9G;{%>?Jx9y;~h*L%UgqV zVI3W_u~%{)A{BshrjuAowJRI-_x_p0$5I)KD+nttm_&?*(W-1T;)6!xaE->0sJ-US&imHaY4L>@ z)CNB_#i?I{2W!HGVrQsmUg5nQB?n}AON&h5v{0VPPLZuGSTQ~7Oh{3C8&{>sDi=E0 zP`^2TeC=INU{GpT-#B;o(yf2#!o_#bH=4j_m|q?zI})U(SLV})%TF|hO`HxtsM`){ z#fsx>&F&2Hz-#66+47hKu2^5Ip3JPSKDvA6tnoLDYSMf6nYaxL*>CowLWS@J!Lr z^r+{cI4mspYgNo(GOfX0u-DL1m`WO$es9blru?ht-aqjcS;h*M&&Xa_Rmr`&A=23O zYxr!Dk)~>4AwJbeHuCDEhLZ%V1N(~G98@kn-t$?9Qj&gNOMF;mp3i1#wJv#U`^=aXLT3;oC4DP~CYtSAvv$XpeQQg}Tw?Rq=xV8N|6{G*$rVeu4J z4VS3^B4-+qPW6^nCp9eJ=)BrL5&>ykw|jcJI)yG1ux=Ks=0(gk4MR`5AZ(HpaWQ-46JL>(Uf$iX43#5KfIREGzgsvz^znMCd#vIx%1k^^wnL2;V7>?imaU%CF# z>o0s|rQhF9voziA_gAj}NNfR6WSk`cu&WXNHi_oAlUa=*F~d&Cev`Z{d4M!DtjK3W z79Zb9Yc-o}%HW)zuZqO6?-g`^s9~^ zXK7SjO6i@z*Y(VORf%RL59CyW+V+gwb@SD-3Ctvt9)$XOjTI%ctg5U^7tA1LT3#m?utcX<)m3Rt(KIvB*Usgxe zbX~X}uDW_^zSdcm7Yh}J(QJ^S3qseu{vxwkudtKR3Cu9Y zj^eU6!hk$rUdI$5WoflWBvWRfRzWe>bXx{dB4-!Y0mU5^@V7o&Bim50+{yxZ~l(y!skXtPkR7PCIz6GS;w)uXlb`32c*@AR4VsTE=} zj}1PeaI{fat3B(ivKv_Re;`ZJC$jFczexl_67uuN0F!>G=IK>T8CGsn9bfyViz17_ z$edcjGcV*-yBai8co-4}U8yVtgcr6uQ}#csE~pD1_RBM_#I*KI-Tlz@UwPZzcYkPU z(NrZ8e@@dcH)UCetOO>Em=>l7jx1mj5a&_zTyA*;DLUehVv*)bZ`S*^2D$ z7YDN{83prpqnTy5U;o4FKOdF5A_b=1Wx4p)-+IQY&5lqxY96pHo_I)hfZ6$NC`t>m!d<1)%_nX+CEV)jN_eO5K zIWlJHf1>3|BgJ-sEZe3&)AHpm$ZJD|1U9fBg|*XH`gsxS7GU*%kuO<@QMGwl>enkb z^EH7REvbcv^crFLPcxH7qa%4A!|F5|lR2x=eCy%in^otQEJTW84`2x4B|6^CqwBwT z>HPlNx*bzp2m{mY1bJ5$GH_)Camk{{ix91#Ozx?kbZ%~1Y#44i9y{IGZA3yO3|Cq{ z8%HBnOVr%;-}$q{tXjlp_$6>IL=WZSU9`8uf-{wECx^-yto_O;5 zlTUbanq--tG;Ahe({(@R`MekLd%$a>PEde2rR!DS5zf_n3ByUGG+Bk}x#v>oUyAl`kE2?b zp?stCtE?YIbF!<06$LMg;!4myRV_C?CV(l399HIIQ3}a_B|#UQRc<}44%=ZRjx*WB z(VQiLAq)Fj@r2h^{9@Lw&`?oZK18oy#=({RookFo9~g}dqzqfH)H^T!b@j@Z@L;;j z2$OfP>Q-5hX)enaFMOM@vfffJU5D1|uRw!K2rCgO)}mR>mYRBB7y&J7Yo5*>O5)9~ zAe&}wDa~1!5?&jGkt@FI=mh? zr!62gb%Ou6i(+H&@u`?kh|wT+h7fESn>c3(LwPlWnmr}>vECiA8c(; z7rLjWxadHXmCXU#YopntY=zuBVZvdB>?+fP8lAXaY&KQ-hksm*B+d}xr7gRGO=0E*Gb9heTgSr(C1FHQ-4b;pfeO&w!k zNJ6Pzmw^NcSk!L}?_J-xd2!_+!|eM(*lgXhv9Z;^Z6&=eyXyxJ(^0fE#szf!c(@R5 zrCZM(67*MY4jvgkyu2{#R954-!$K|<294RJrF%!it>&H0n?JanuV<2vS%!t!=KobtSLn=bl}k->7Enu;e9}vL|sVTPN9lhHjI5XW>9{|DI)pz3TiMPj`1` zV)lH>nt~*7(Oh7I7?h%1;BSQuwt@F(Wk^;sp(1W4P=^cakjP+t!Dk5=*Rf5LEW>7J zcsyFfi80vA`Ppv8OFC7TI7kBc)Ue8dTb0EXddg%KSJrtFd7n=rdJeXGe`O`}Xxff~ z%*s~SFl2pKeYs44Oc2I4pk(>c?NbkK5Epw^JlDqIZ^)Xlb+$dzPYKMbQ0Dl{L8YBI zJ>E!=&EAp`gvyBZ-md{{wx0lBzE|{jGPcCtK0#mb_^~ z&be352c7D6y?&Ulo?BTM^#=DYtS|PrD`l)uFkUOKv5U?KCuuFOE?-$2oLgJGw;wOE zk=CrabE`VQ6-tMGC5`5Jc_T{7QFEi)f5&oFUfJXp4Vi2_gXd(*lGCeem)e~yiNscf zd#k;@<=zVKQrWEMi!~I#lp`P84X$*XbF)~=-nsV1VKb@9B9PZ`c#kAvqoHY5e6}~Z zya$T2K}6z?t8{t&6KUHvE3>yRHnerc6tZ;B4iOS@MmU#|UyFJO7m-U@>}7Pbc-5Z$ z9pl-coXSEMof}mIiUOy_+9Z*f-tgwy>8WnY7BV+kFZUvGgE4U!LaTDtGT-3`xVkeT z6eaP>9;=a>L$;fSu8-Q$Cgb+W{;)U9xVc=%b*rK!61K?(2$6P=7z;UO4bLQtfZ1ay zO!maEZozKq&}V6_%ua053ydrcFstOOc%k)Fv)5_EW(F`P%O&lKJz||tymd0TP5>ns zQ6dI@gbl1ja{2{%7nc!20bd_;%r-OP0+YB+a?kSl&Y$}6XWx~c|6iq0NB5=we9zn) z9(x-Ch7I%tsc}&j#fBtk&K`AfIs*3Tn{g0fF zxgYc28T~@~OWD(v+bfS(e!Kd39_62}ov!_I{kNM=D{60bhTXln|IU*_eb@Mu_#1qV zMyXGxhotm{=@?bXZRVa>~Q@}({fPSD*eQJ9=Z0^wQEn8-cx#{bglFh zziXwZ?|tlE7t{uyk+fvC=c8XQ{vq+8LEjmxkZ+sc(7lO^;oD{>g`)q0`48 z^m+cPj)zLme9M}buRZ--@9JYuKlaQ+&pq~N@8J*it~_$>4rn`Fx~%(tj^3}*%+s2p ghf2@!_ff7rT>22lD|!HT6a#=po&P>LDX%a8Z$b7mMgRZ+ literal 0 HcmV?d00001 diff --git a/my-blog/static/icomoon/style.css b/my-blog/static/icomoon/style.css new file mode 100644 index 0000000..580d1b4 --- /dev/null +++ b/my-blog/static/icomoon/style.css @@ -0,0 +1,99 @@ +@font-face { + font-family: 'icomoon'; + src: url('fonts/icomoon.eot?mxezzh'); + src: url('fonts/icomoon.eot?mxezzh#iefix') format('embedded-opentype'), + url('fonts/icomoon.ttf?mxezzh') format('truetype'), + url('fonts/icomoon.woff?mxezzh') format('woff'), + url('fonts/icomoon.svg?mxezzh#icomoon') format('svg'); + font-weight: normal; + font-style: normal; + font-display: block; +} + +[class^="icon-"], [class*=" icon-"] { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: 'icomoon' !important; + speak: never; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-git:before { + content: "\e901"; +} +.icon-cube:before { + content: "\e900"; +} +.icon-game:before { + content: "\e9d5"; +} +.icon-card:before { + content: "\e9d6"; +} +.icon-book:before { + content: "\e9d7"; +} +.icon-git1:before { + content: "\e9d3"; +} +.icon-moji_a:before { + content: "\e9c3"; +} +.icon-archlinux:before { + content: "\e9c4"; +} +.icon-archlinuxjp:before { + content: "\e9c5"; +} +.icon-syui:before { + content: "\e9c6"; +} +.icon-phoenix-power:before { + content: "\e9c7"; +} +.icon-phoenix-world:before { + content: "\e9c8"; +} +.icon-power:before { + content: "\e9c9"; +} +.icon-phoenix:before { + content: "\e9ca"; +} +.icon-honeycomb:before { + content: "\e9cb"; +} +.icon-ai:before { + content: "\e9cc"; +} +.icon-robot:before { + content: "\e9cd"; +} +.icon-sandar:before { + content: "\e9ce"; +} +.icon-moon:before { + content: "\e9cf"; +} +.icon-home:before { + content: "\e9d0"; +} +.icon-cloud:before { + content: "\e9d1"; +} +.icon-api:before { + content: "\e9d2"; +} +.icon-aibadge:before { + content: "\ebf8"; +} +.icon-aiterm:before { + content: "\ebf7"; +} diff --git a/src/markdown.rs b/src/markdown.rs index b030a7c..b4ea2ac 100644 --- a/src/markdown.rs +++ b/src/markdown.rs @@ -88,10 +88,11 @@ impl MarkdownProcessor { let parser = Parser::new_ext(content, options); let mut html_output = String::new(); let mut code_block = None; - let theme = self.theme_set.themes.get(&self.highlight_theme) - .or_else(|| self.theme_set.themes.get("Monokai")) - .or_else(|| self.theme_set.themes.get("InspiredGitHub")) + // Force use dark theme for better visibility on dark background + let theme = self.theme_set.themes.get("base16-monokai.dark") .or_else(|| self.theme_set.themes.get("base16-ocean.dark")) + .or_else(|| self.theme_set.themes.get("Solarized (dark)")) + .or_else(|| self.theme_set.themes.get(&self.highlight_theme)) .unwrap_or_else(|| self.theme_set.themes.values().next().unwrap()); let mut events = Vec::new();