From 04164335e56fb71fd11cab7ad8da25660db9de89 Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Fri, 5 Jul 2019 05:41:19 +0500 Subject: [PATCH 01/44] fix(gist): embedded Github gist are not laid out correctly fix #123 --- static/css/elegant.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/static/css/elegant.css b/static/css/elegant.css index 5220fc4a..8f6e1629 100644 --- a/static/css/elegant.css +++ b/static/css/elegant.css @@ -644,3 +644,7 @@ div.figure.align-left, .author_name { font-weight: bold; } +/* Github Gist */ +.gist table { + table-layout: initial; +} From e1429c54a0083b054d39b1f207039e914f203ee7 Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Fri, 5 Jul 2019 06:35:59 +0500 Subject: [PATCH 02/44] fix(reST): indents in line blocks is not preserved fix #144 --- static/css/elegant.css | 3 +++ 1 file changed, 3 insertions(+) diff --git a/static/css/elegant.css b/static/css/elegant.css index 8f6e1629..2d4e9b7e 100644 --- a/static/css/elegant.css +++ b/static/css/elegant.css @@ -603,6 +603,9 @@ a#allposts:hover { padding: 2px 4px; white-space: nowrap; } +div.line-block div.line-block { + margin-left: 1.5em; +} /* Helper CSS classes */ .amp { font-family: "Warnock Pro", "Goudy Old Style", "Palatino", "Book Antiqua", From 7ca7331c0c0c04f78400a7d2137b31a0378cafc2 Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Fri, 5 Jul 2019 07:40:35 +0500 Subject: [PATCH 03/44] feat(article): make article subtitle italic fix #284 --- .../elegant-theme_article-subtitle-hyphen.png | Bin 22307 -> 7402 bytes .../images/elegant-theme_article-subtitle.png | Bin 21230 -> 3137 bytes static/css/elegant.css | 4 +++- templates/archives.html | 13 +++++++++++-- templates/article.html | 15 ++++++++++++--- templates/categories.html | 14 +++++++++++++- templates/index.html | 9 ++++++++- templates/tags.html | 14 +++++++++++++- 8 files changed, 60 insertions(+), 9 deletions(-) diff --git a/documentation/content/images/elegant-theme_article-subtitle-hyphen.png b/documentation/content/images/elegant-theme_article-subtitle-hyphen.png index eef9eb2984392667cd20b8c8ad02283f664923be..f047a2edc5644d298ce9a01f7c155ec5cb2d3782 100644 GIT binary patch literal 7402 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 diff --git a/documentation/content/images/elegant-theme_article-subtitle.png b/documentation/content/images/elegant-theme_article-subtitle.png index 58ff7e1480c937a953fc128b06fecc902be362ad..434a03dc412dcbed918e46ecca9b0e26a3af6f83 100644 GIT binary patch literal 3137 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 b>uvY{g_+dQF7ZkR00000NkvXXu0mjf@z!&K literal 21230 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 diff --git a/static/css/elegant.css b/static/css/elegant.css index 2d4e9b7e..2084c3b6 100644 --- a/static/css/elegant.css +++ b/static/css/elegant.css @@ -71,7 +71,9 @@ a { hr { border-width: 3px; } - +small.subtitle { + font-style: italic; +} /* site title */ .site-name { font-family: "Monaco", "Inconsolata", "Andale Mono", "Lucida Console", diff --git a/templates/archives.html b/templates/archives.html index d2895930..84bdc599 100644 --- a/templates/archives.html +++ b/templates/archives.html @@ -57,8 +57,17 @@

{{ year }}

{% endif %} {% endif %} - {{ article.title }} {%if article.subtitle %} {{ article.subtitle }} {% endif %} - + + {{ article.title }} + {%if article.subtitle %} + + {{ article.subtitle }} + + {% endif %} + + {% endfor %} diff --git a/templates/article.html b/templates/article.html index 722041a7..14b1a9ba 100644 --- a/templates/article.html +++ b/templates/article.html @@ -32,7 +32,16 @@
@@ -80,7 +89,7 @@

{{ title }}

{% set ptitle = article.prev_article.title|striptags|e %} {% set pv_title = article.prev_article.title|striptags %} {%if article.prev_article.subtitle %} - {% set pv_title = pv_title + ' ' + '' + article.prev_article.subtitle|striptags + '' %} + {% set pv_title = pv_title + ' ' + '' + article.prev_article.subtitle|striptags + '' %} {% set ptitle = ptitle + ' - ' + article.prev_article.subtitle|e %} {% endif %} @@ -89,7 +98,7 @@

{{ title }}

{% set ntitle = article.next_article.title|striptags|e %} {% set nv_title = article.next_article.title|striptags %} {%if article.next_article.subtitle %} - {% set nv_title = nv_title + ' ' + '' + article.next_article.subtitle|striptags + '' %} + {% set nv_title = nv_title + ' ' + '' + article.next_article.subtitle|striptags + '' %} {% set ntitle = ntitle + ' - ' + article.next_article.subtitle|e %} {% endif %} diff --git a/templates/categories.html b/templates/categories.html index f18d7c80..eccdb7bd 100644 --- a/templates/categories.html +++ b/templates/categories.html @@ -52,7 +52,19 @@

All Categ diff --git a/templates/index.html b/templates/index.html index 09d64edc..fb0128a7 100644 --- a/templates/index.html +++ b/templates/index.html @@ -101,7 +101,14 @@

Recent Posts {{ article.title }} {%if article.subtitle %} {{ article.subtitle }} {% endif %} + + {{ article.title }} + {%if article.subtitle %} + + {{ article.subtitle }} + + {% endif %} +
posted in {{ article.category }} diff --git a/templates/tags.html b/templates/tags.html index dc597970..bac28e99 100644 --- a/templates/tags.html +++ b/templates/tags.html @@ -58,7 +58,19 @@

All Tags

{{ tag }}

From 2711aa0f02f1a667ccc749b50c2828f7fe76426c Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Fri, 5 Jul 2019 08:58:12 +0500 Subject: [PATCH 04/44] feat(Chinese): add better font support for Chinese language fix #134 --- static/css/elegant.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/static/css/elegant.css b/static/css/elegant.css index 2084c3b6..e6abf437 100644 --- a/static/css/elegant.css +++ b/static/css/elegant.css @@ -65,6 +65,10 @@ h6 a:hover { color: inherit; text-decoration: none; } +:lang(zh) { + font-family: "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", + Helvetica, Arial, sans-serif; +} a { color: #3875d7; } From b81555a5ddb0c19721cfa8faf0300835115ca5d0 Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Fri, 5 Jul 2019 09:34:42 +0500 Subject: [PATCH 05/44] feat(authors): move authors below share links section --- templates/article.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/article.html b/templates/article.html index 14b1a9ba..81d4cc6e 100644 --- a/templates/article.html +++ b/templates/article.html @@ -73,10 +73,10 @@

{{ title }}

{% endif %} - {% from '_includes/article_author.html' import article_author with context %} - {{ article_author(article) }} {% from '_includes/share_links.html' import share_links with context %} {{ share_links(article) }} + {% from '_includes/article_author.html' import article_author with context %} + {{ article_author(article) }} {% from '_includes/comments.html' import comments with context %} {{ comments(article) }}
From 35a35b003eeb64b040ecd3065b3baa4cc18aa951 Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Fri, 5 Jul 2019 09:35:04 +0500 Subject: [PATCH 06/44] feat(authors): add line above authors section --- templates/_includes/article_author.html | 1 + 1 file changed, 1 insertion(+) diff --git a/templates/_includes/article_author.html b/templates/_includes/article_author.html index c455014a..a73c40c9 100644 --- a/templates/_includes/article_author.html +++ b/templates/_includes/article_author.html @@ -1,5 +1,6 @@ {% macro article_author(article) %}
+
{% for author in article.authors %} {% if author|string in AUTHORS %} {{ author }} - From cc92230769f5dedfab7aef402fb5cf45741f271f Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Fri, 5 Jul 2019 11:25:35 +0500 Subject: [PATCH 07/44] feat(authors): add support for avatar fix #362 --- static/css/elegant.css | 8 ++++++- templates/_includes/article_author.html | 29 +++++++++++++++++++------ 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/static/css/elegant.css b/static/css/elegant.css index e6abf437..a38dc13f 100644 --- a/static/css/elegant.css +++ b/static/css/elegant.css @@ -647,11 +647,17 @@ div.figure.align-left, } /* Author blurb */ .author_blurb { - font-variant: small-caps; font-style: italic; + padding: 5px 0; +} +.author_blurb img { + padding: 0; + width: 32px; + height: 32px; } .author_name { font-weight: bold; + font-variant: small-caps; } /* Github Gist */ .gist table { diff --git a/templates/_includes/article_author.html b/templates/_includes/article_author.html index a73c40c9..b529e15e 100644 --- a/templates/_includes/article_author.html +++ b/templates/_includes/article_author.html @@ -1,11 +1,26 @@ {% macro article_author(article) %} -
+{% set tag = namespace({'open' : true, 'close': false}) %} +{% for author in article.authors %} +{% if author|string in AUTHORS %} +{% if tag.open %} +

- {% for author in article.authors %} - {% if author|string in AUTHORS %} - {{ author }} - - {{ AUTHORS.get(author|string).blurb }}
- {% endif %} + {% set tag.open = false %} + {% set tag.close = true %} + {% endif %} + {% set auth = AUTHORS.get(author|string) %} + + {% endif %} {% endfor %} -
+ {% if tag.close %} +
+{% endif %} {% endmacro %} From f97b47a2d98f090534655c1a925519273ace9e83 Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Fri, 5 Jul 2019 11:33:54 +0500 Subject: [PATCH 08/44] feat(authors): open author url in a new window --- templates/_includes/article_author.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/_includes/article_author.html b/templates/_includes/article_author.html index b529e15e..22865f86 100644 --- a/templates/_includes/article_author.html +++ b/templates/_includes/article_author.html @@ -10,7 +10,7 @@ {% endif %} {% set auth = AUTHORS.get(author|string) %}
- + {% if AUTHORS.get(author|string).avatar %} {{author}} Avatar {% endif %} From 07bf415599a7c443504b7dc6d9ca82b4c1d91481 Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Fri, 5 Jul 2019 11:34:19 +0500 Subject: [PATCH 09/44] feat(authors): make authors URL nofollow --- templates/_includes/article_author.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/_includes/article_author.html b/templates/_includes/article_author.html index 22865f86..1c538d24 100644 --- a/templates/_includes/article_author.html +++ b/templates/_includes/article_author.html @@ -10,7 +10,7 @@ {% endif %} {% set auth = AUTHORS.get(author|string) %}
- + {% if AUTHORS.get(author|string).avatar %} {{author}} Avatar {% endif %} From 1697477ce0f7ba4e682f6baf050b80e1c5fe66a8 Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Fri, 5 Jul 2019 11:44:29 +0500 Subject: [PATCH 10/44] chore(docs): add talha131 avatar --- .../content/images/avatars/talha131.png | Bin 0 -> 12942 bytes documentation/pelicanconf.py | 1 + 2 files changed, 1 insertion(+) create mode 100644 documentation/content/images/avatars/talha131.png diff --git a/documentation/content/images/avatars/talha131.png b/documentation/content/images/avatars/talha131.png new file mode 100644 index 0000000000000000000000000000000000000000..31a8a9ac0e1ac2410c6a027983a1777d6459f6f0 GIT binary patch literal 12942 zcmV;9GI7m`P)^0l@*Nni7CBX;T82OSxL_`ynC$OX}Fuu&Oo>!;%PVt)^~G0e~6JoDi;_ zpO?8TP7WnT7HCa_MEDY-u$Va$Hf;b z8=$#Xl@Lm8$Q;ENU1(-Q6hu4UY6ArO5~w)?=2GN?hZivh0&r&o3qk-O#O6Nq(wbA0 zX}d#YcaI?;cy)OGY_nYUbE$9MKIjo*OszCzbagNzA_qgJ7=yNgL?i<41kO&#qOBn~ z5H?o;atD#1YEAvcMgHJtPt0-ypK~YF z9FVXzjX`Q_EKy?YBHs8b-#$5t&dnMyQEe7N07i4KwTXZ>Nd3ZmA7ez~=9p4~R$I=2 z#T@_*0NtEPhQ5FL^2MKi_|!QhFo3Z+sCuMYoGKuagEiGFkAbCuX+X4A8#p;!t=9?m z|JJX)+jaeut-km9HpF0Bfp{v-9f({`<6<`)R#kKE5>&Mz5V-=9m%Td1P8d8fagZs` zAw+hr+9bqMM^Lp^kT6KhdG1oorIBAIDr6*@R%n;?jXn_ zkI}Rs1!hAAcVPxFL}*n75WxDBW+MkcKvhktbGB0ImxyraJ4OO>H2wIaj~+by?AmdE z?dHj|msdae>4U3HHuWfyLI9H1v??$Ypnm#joN~SY=;G4{kKcLY_MKa=_lq+o0y9$$ zeQF9UC6iw zw!#P@26c5rQzKLV5|Nq)Fmz9ma|TxjWMu356oW9M*49e-;~)GhE&JDRpT2mx{^)1V z*85zWqCs(a@G`IW`^$ZC)h<9q46-F|12JZrONhpXSroeN_3*-*bnW_~*fUayeVOVxU z)*0q0_Cs?}FaYS7-D^M~A$KgbBw=IlngJ{c6JbbP%lyMX{gJov=IQGG{gUVQX$^X{vs?|tziE8aem_dj{GI9#5tmd#z& zOKn;!1yrI0kO8Y11GITBA%JO63nJOw)ne>PtGPAv$T03l4&qt_5+SQYYnj~wBAp&D z52k$|sDkzqh(oRF21#N^B!O2k1*TH6Lt6?3RG&vA2twL2hp5><`sk-^x?IKdXYW6J z@a){cnRu@FFFxJ;>HVv$A+f9i4?T1%PT3^`y(#KO$Ast|iqRtpZ;RKS^t zj;|jbmA#ie0km43gCh|Fv|6<8RoA6f;TRJ;WNP6t z`;yh0!55e1cmM3!vrQ&~z|LsZG%~LG^!nXf>&vSzp1fFZMl&39D^BZKLm*Rq^60@= zUt6&VGYcUhVMrCwt&+AOupoe{I5ahF=H`Kky#;Rqm9>DG14;<$u873wpj8#zb5*J- zd7fD-Yf}UyAVO_*NE|{Gj1{>SH3OH>j5iH4$vhS^1AsYCPoI1d06+fp<>ju7r5W<0 z^ZCQayRo`CIZz-B%z-%sF~rZGyttZ*HqAL-jdLG(%6hq-U6mQ1K7YByZLx|m_KvmH zLev;ZI0>OCpqpxI%>k%tMW2C)qO+JeBdQu8nR%4JL`gU?4=DjMG7Fs^nA?zNND_e2 zb#`iqrIyx^19bo*ahG#K0Ae#mcLGBWYFP8UyLj>0qnG=l%`gVk+HM@AN9W}k=0J4Z zNnp5~n*)4)HBZlXNGK0p3gTgk$o7^=N6L8xdCBz zs!b&l5qhmc1w*%2LTrv02tk4=Fw-I+*U1n#B-Ms_A5&s*S{$!XXw^nU22&?yLes`b z3<_F=v9%VM0C6sb5Nn=e49;O{p7-mYeg5L{mitU|mm z?P9FWfe=k~-`YCsCbvY?N$eN{OKX5Y<8FW0&1?;%&qgs&)=JD^UTcdXMb8OpATp;q zmjIAdr9p9Obw)vCs_xFjpllVah9C$)#L@>@E|;590*fPLZDx>SENW`TOs!P|cM6Ui z0=TNV)dq@fk!XFn{^I$jHs|2xJT`rDG5_Sz7LX1@2!asvp*m0yM?=G03ZijLfS!y>tKBf{b~PZnW*~3mM`kxO!1ZLGzbr|@sEx_os3=4UU%hekAOG^rMVAaU^@+MAb^WSOF6l=f zeEz@v{`(Iur$7Ag<-O~RS5DK-BLK_6P22>ql1MLVqo4^>t*vz(WG7d(hKNy66#-Nb zcjy4XL?JM9ECz`n05CuoWal8e8}|}ZQzb_;AV3FTRW%PWAaTi+QCt-P!ECOIoXo7| z>G(t*J-RY*Aj!2>_0L~S`>Fw95Si5jLMQmwf8(py2)_FIN$eBF$iqSwE8xDVq37R7 zx8AzD`g?!>kN@EF^#@OOk1xjG`08;eTl7P99s?(&RvV?1OBLjvn&oMUsOrm@8UTVb zst|U4+UE%gN^55HUaqQVdF~9g_&xnu(=3LNi1FH+7uz+%W-R zYg)^cY<&K5zn?2J6Jb?*dQ~=ib8tiv@_q5!hunbv#;?Eo;d>v(zLyxQD%P^Uc(L7< zKl<@!uiv|Kb}$Uq{=;8;^S!5ka#1{rymx>5mDf@V6}eLb#!B9bivcymUbxlTimEU< zcIb>y(RW1&_6tD+o@WiAc3vY|hll{`6aj))X#t_Rt4EG=%`uQ#CAMY_KuT$dXiX8R zX=xbRtkawUo3&jDwKWffCD&&B;36XnHgs1ePGrA!@A!+oo_6;3E2nXBFpqO9N>BoN z51vT=;qU%Q9MT|g(x-3SKK}jBF8knj&lV4#?T@c1aYm8a6v+*M2@%@9)@qs?pm6GBN7tP zTuWk%L1_WahUP@=6a4L-Kkwgw1aLqaS>D_ppECl~WMt zyZ%?darc+sx#>mC>Sxb))#;BuJwH2IoDLipi#>OX*iCtk99X247En`?F`GHMfjU>U z6c?4mto00YR*oI0B6@CW;Nl=ng(Yw>4&#`GMW)&exivGbgun<62t<}Ggy3GkWKN}K zHFF1dFS&*u_hUw6CM-=a_SGD;8G@@}E%lps4m#88o&4S(e0;H)r*V4s?r9%kt|bEI zt)4%-icV-+%}xcD0-eCMRcsF1ndBf=VC3M4ZrTeOdQ%N4jMZ2uf}5Z*xr4gp24<$- zV%H5r)V-N11zAYgBUTB4d=X6cilw@F1Axc~;OegK<2WM8JZJSUky&F#M4EG%OD#=- zVu}$#TT>9e*iKE!!Mh;STwXhjcayxF>|)xA+FRF_HV97R1_Q=)<6v?5@^ZJ{7lm%< zDMc*vLB}V{DCX;InwBwiYNo0z0uoxOjt+=u?r~8xvsEW%#@3uAq#%>In^Pb{%%v&! zGvc~d?nJ=QfTfp74b%;x>$;LBFFD0P!qa{iLUgo}3j(MEfX$^KqJ&@?*PAJHN^Z+# zdbX*6WUheJ%u=AQ4!oartM#3;Zdi3;+3%;ieX&ntaSGR#L#{T5v{@_aaC)ERuR0J&&AArp$Y07i&(tf=)>6cU&J%N`<0WoUOzfJ+|T9Wd|kCbpB~Nd4}SC*&hGs? zf9F4;>$hW)UdSYRcg-OPIs+g}QPWlhOb{fcY&Pa;Y?{q#ZHO3z0JNHA=j#0I+2xey zZs<4&kT{3A`b=SO9@uDKG@ApHgQ5Gr!3?1|71b%v68KB%I_Dh|Aey#Pnj&#?P)Bz& zhm%!0>*;JYuq%S~LWeON4q{*WxwhIRddJG_itQ3JL%)* z*`xX5#Wdw&u!tNMXUGev6V@`B7nVM7hdPkARiyZuj(G{-=NA^;d3gKK|({P)oAil`>b0vhe($|GU4w zI61ig!#_OLb?fnaUw`G9y!ypQ&tnWu5K$PJTn%uVE0YxUL6{h;I}xBe5{1;MI=Hzt zHQi<%D>xxCm}>~Jsxp%!7=V2Ht&>Q!+wTpLndhX)2eD?SM&p)IA5$MJ;S=MKp-LJp0{K11w6pq5$6gSfs z&pvt4Co;pPOvKh$=T74WuPxAp2vX#6%IHYKs*Mp# zt&5>IaC2n<=1^M&Br`{I5O6~?H*ZIW!!NzXp+f}O?e`+cfCwfp9zJugA%@n>k>}k$ z34^w|XxFFIrR=)7+^h~)y~xGOOGH4TTxtsZ=Dl0L{tI9G$xnU?V2Sl$C3B^P<1gM^ zEEpU>YdKmihdywiMGBjX?Jm0_bgAPgCx-{~i}kV-LavjQ+Azvg+l#BIO``(UrbHyn zInOC21+2|P_6(q^<|ZNz*mWHOb`qaoT#&Yie&_aCYx-=n-#;HqZtj*sAY!dq{;U7x z`yFW@-cM7E;p%D!;H5P{TCSE;scJS10|CtQ&pr zH%=B0uf~h1ympxOQ&9=K(oUy3ECPYsoQ28V50=B~Xh}nitG--qhA5ZY91vAPH>^Iq zfAQb_!+$m9Y^4lc$HJu)b6a#>H7M#`2wmh-)R{q;SemMvry!fnXw&9<-#iGm&%VgomJ$vUcTvcEDzyU7Qx(A^LDfuQ%=PH(Fwb+Ca)?2g z_S?}F*7MZgxP5rz#-l&}tkJStE*2rq^DH6?IUx3ZkY*8?kO0&JLP#P35Q!84NL>1G zbTqvE_N#B)yYsWBTa3#XyCgkmGji%Mp$j3VuCG1^qB2gUdWxdcEX2*A>$_HKCyW5O zSrxjPCT0pTIjXk0UayZ<*WZ5a?pNM=<%=KxS-;Bx;ESudV>}d`nic>ts8zE%Fr_3v zdvN~aPoLku`LK`pl{-hEVcLx8==9F7{t~4?B8C9X-HWy69AX^CX}8y|G-Ybg6o^p* z7y>e*$CMNt%v;?}mRY>C%1n`<>$;L%Vk)I3AH`IdSdoNfUkXaF+5jMkGt!<)oRfXK9%n1AY1M_-WPp211wck;L^BJi zucbC~BvF7|8RcmF?0DbCa_qk>>4+!YML_iotN(Clq&>~~4t?Jwl@Q3gHWVfHL z#*A)3Cg6z;;t$*Jrus$mxEn7>65#%`<>%{wxXWc;ibbrf3_{F?&-rP56&-- zmIp_NIM&F_HP5Xy(*_b3{UYZXS^6{}I3Q`6fqXG6TGOgVAylo7*0eD*05HO$OW3Tm z+I4-P7$QpmI67E$DUH)uOVy@KWQa&uS`CZ>fJ}tM#PdAYRsoHqyn1&yI84xNKLc0| zEFp3TqD=E#k(nc=iu>x@W;j+nA5-5QtU}Y4Vz_zZ6=%&?yYIhPKQFr6*TA&b>eCe^ zeevYc^^;RWGh>m|v;jCEkSmlKBPU^N-ldeMk%?=oftZoO4bY0J1Gv`xdaZzJYN`$; zQYT$XjR|Y(yADjvs8w|4s?8AGAqpeYTs4;h&`99mINiQ|fT;WZf$MxqLkwA097<6l>XyrQW})Kiw#S@7 z(LvlWh6q3$lcLPI1_=OE)OOR@tN}NUwi~ybt1CuGF)S7XAoelV(o{{=5V6e42H$$; z)t)Ib27(IyGPjQ|#`j;0?|pLd;m6NkzSzEexqfi}JkGaLg3)ur$_|KQfn0^AwWh4 zD+o4CBchjDhsDrpZmNo{w7Ki}=CxIduo(Ext>b6s>kyd)_v1_q!y;_00271kw>zpX z)~=r%J-XcGvRMQivjI~<@J>z!`PQwIH_n!QqDH)U`|A(ifAsYE`dT=wi(+8N1YdI3 z=E7-ibE)IW4FX-=|6<=%Ts3rEt2L$I?&CBAQ3C?gR$B>HOLIUX$|awy&PvlV?HECb zz#3g{cjK3~JI#d=Yi&^^&$AO(FCevF(0Kfha@82UjcN1dDv;TP^6{M%o<@txNXhC@cCusU15`bH9Xc)qQEh; zHzJs)F^RY}ihXbHF$QyRcWrGPr#X-NyzUn5)~#W)o)1>(){T?LPcEEV>Il&vKR!nX zVUU0%Ty~{xGFM#$I_%`^aM=xAGySc<`fuEN_w6BJ$9THrckUkdtCc#{hJ5q(t>6CD zG{l=nhu{>6`cXR$`#GCAi%5{v1vQI70yCkXoyL>n22cSILF<=P)qy3Zz6WA;+m4ek zsA}puj)_Aj6wsWB+?`0M){=8BYUR+Xp>&EbCp{jAd^1_BXz9 z_m_W-(~>|}2mRr)t2O`pof}7!qxy2yGr~BI?&@H*Rj(=#=W+Yyo2%0k>{Cz$iJipG z!5zsB0MU_!xa87WE4i}UJkJOOKqL`}kx0t8Bc^elM8Y(WyJ@@2>(guf&1)-(#6-s@ zF$BJG^WeQ7J-@uLn|Fc)6qU`(X@5Cgz1#<&rSLL}sR_X=*A8Oe2~%J)_jq`C@U?G! z>)lsB|KKyIE#1BWr>A!ND;g65n>BDvB3+Pq+~4cF>HH!zO;KVeAxW*E+F}quRkw@v z)!nBR1_Q8iQwpXxjSLYW!0Rh3NpWlD-%H3N+q1MKf9H3)K zK{glrG{{@0i$mrowVW(YpKZ?7csG?{kP3jnd2aC-50CxPJxR`Q<6;q>KD~JQ zbaT-4r_1iJmt_|sK@bu~p)cWPJN8`|k}RS`;q#Zzzw*|d0_YAb+!+4)U;Ex>zXc>S ztJD1Z-~W?2S9CK~VchM?dfhJ8`>)@={&)V;uUrf1)~cgg=ksa%eA~1U$@*%|sc?|F z6hKt7QnQ)W+QumZpaT?D2h97i&igWLo7PI8fMj6Ex*gZsal0S)2M2wZ;yhIm36UMW znYocRulthE$Jb7l66o>RHe)?mcDGKKrRnKmABa+9Myj@ zy|%d2~1N$9THwC?s35;AeC3V=+gEvFckL*K;&4r*Rio3+k? zT9X*+w1-v%r0vG5qiYeaXuTP?yYAYJg*F8Q5gNxLg3Z(o*3Wk|wSi!<2tV6QU0f`R zpA7s`bvNrGNohW}nv0He2BN!nZlx$_`sS;*uU|h|KYX?j`|h9n_VQ%;jp5xV4<4T# zt*)P4TOO=Tbu+cic6z+tXScultKa<1@4ou{!NXtr`WtfC<%|8jv7BAx4+b}46i|1O z1f)~hMB&x)Y@SUdcx!-OTdS(3Zmqe)l;^HX?A8k#pD>~k@q>E>a|rMg;R?ozzkY>p2H z_ZASl#K(t==MVhatG8bN#y4Rs%Vl6cKrl6{`Xvh#cDr`48vgyi`D?FVTUfPw@4N!0 zSMPoP+O@@R z|G9TwzjG!GT_=!dThH(R-VeTb@6ofJ{&uER7)qeVT z{a4L7adjhgbqJ}ydu{o*|H?1?#b5baqzbNm>gt>?fBNvV-~Zt0quq}-`B83@p$L@_ znpJlX5{97%*hq|X$zTpnC&#)SuUh4&FLoz~Co$mN>#K1d0lAQ^mID*kTBPqd20;XO zWkLYhT;;=qC?V{}vcB9;vrZSYsCS9S-6S^;R$aK@SWGcO2UF%=V`h)|Md6X zd;0#<&o|}$eR)~U+z~xH9-Q{tT8JS}`R#B2JZF9R^77qx z?)?}4!LLTaq8d{I2h$7y(hq4KD9<}W9ap0RrgPV<6 z4_C`4=g$o3TJ)oiF30>J!0k@Kd`O)Fn%ny7>e{uVoK;AF{Qd_6V_<|_&M(go!WmRe z!*KQRlNHzH$x&%71VYpD;_{<^{3kCSZhmxCKA&3wNJPzzh@h8)p`#SFY3f2s5diwW z19fIWLFpM8K791a-}>J7sHsF;bzF-ELPjmEB_RM55$<|uYL0qv82e#6O|@1C0@GM( z@wO`o>H0x`_iQy5eSE%o^~S-;@$!S`&*Syg-}&BK|L@1=4_}OrcI7Z}fHvhuMCRU_ z5~H>D;KR=oQD8#%&3bcs`*zFg&BF($2MMLCwIHE;`~08%_Q3an` z$DA07`J?mw+0pX!X!z*S=Egz!n?HB^ts|b+S0SZqEB*`LeXV};&Ie!Y{`>#yhr796 zym(IY%{E`ey!*TV-Y;LAZ>~1^M?ZZquCL~cr@^vd@&LQ%+x!3OgJ(Z}^x!goxUU;E zK}05Q%HYhP<^a&pkB^tvqf8B^JTU^e6Trc$Gj;-sArO*)jQbo8!~K`%Y{NzyLV(ff>dzYr}byqk}LEojA~DpNaE!UyghJwRcY6J{j)3 zdcBL`i%%Y3UQMsOcJ12r8+Y%*U;f^^ckY~i-Vsw_m$0BH#Y@8-MhN zA6$I)$=RzXsQ&rq=YQ~zesFRz{&bx`8>=F!qk@xJ5K{9b0%~S%4#R3VIb1w{x}Fkx zlo(-G50|LD)=7rVIITCH?4S?CYWZ;lY%pF%QerrTXw(wTVH+r=*9j8|M32^|M_=+_Kvlm?aGU}8G*x> zJPMth9&Fb;bIrA(gSq$1&eSfhww*hT8WxN7el*ikt3&5*;9zdVWV7FY|2bZklJmY+ za&&NYDDBye`_Ik}k^q9MBO(#1!8BJOF7q7KyCj{^kbNYj|{aaCExr7O70*km%}amT@EmD^@MmqK%co#%b!i6l195&G~o!uOI*6drwXj z?;Z9Zs&#`Pz?3xs4MR8W$L5akuQ7ocNGF@C{USmlS&lW2N(QM5BGmVNtD`Wr+M4O* z)A91*B^pens#A8L5FJnrwl6o&u1F*VwH71i(&ntYeVz6#Z`%P$A|HfzV?p!VX9w4g z7Vq3S`P!lAga&-;?AV%hfSZpWOttPdBjz?ud7c}&?sKc=U?2eOj_ztUYr8TZcY6Qn z_IrH?YX9_NeCy4l-}vUu_da_0$3J;d&2ufscNVhKs~39!Fb4%pNn(lwGW7BIX!w&C zn=S~DHErAN=;$#rTfml|eEL$0?rUv8AmNoazT!yCY%RZh`E+ysLZ&$*V9vEvyExy? zS@Ttn)f*M+(!mf_>77@vyLxtwZQO0-#G9hk z+`yZA0VoKc&TXpp8wcH+NgnO;Mr~yL%C&d~{Ck zgfIhc!4|D~b#gVgrq-I>9O4d~iPS8lFxLv;<5&&RTI>6Gbdp{?FU@Vv)uHq$c`HsL z<2W~SYmiH;S+&+V!)n#7R^8RUoNwk_6^S6kifvQOwW51giv+^#s-3W!sW}6$@6_B-4g6wM^KoheQ3iNc{ADiJuPu*P z9iwYgaM(^|=peYyQ)>&YwE!U#0b)@-=u%)nQwhO+mJnN++dMg=ql+2jS@*jr z3M`yr*zKp%3;@4W)f_G70w7aWKm>rmq-K$r9308e2oMlUvulU^^*cv>BqTdKt)L1-QgQ}Bb-&z=s?I`Y zD$J_3-tX6&`OclQPd|OC=AE#a6QY4D03Z+`BbqxiM!`+3v(pf*6S{HQq1qdfhe#)f zgEYG=Z9mssZ9lak^3ano4k=WJsp?!?BYbI2kvoRIm(6bf#*L#=%G1mJkODDuv75>S zwTV!z*v!mzvFcKcbE$Vvk6u3B>EaqQ8DOp@NknZa2C2n1+iD8C?X1O0ZHbsDm|HU( zixQ|X=B7XX~xwd+!yro@P2ZOJ%wW!wuvQP5I>h~ItZWV4ws*CQcW zR&5sOOHit2^`>qB?gYe-&o|%t%Dr3HkMDo-gdB*`-OT|3o4Em~y8(hj(F*8Ypdp5{ zAsr5JZo1wTQ|)4yOWRLn%FO}IoQdY#j&9$0c(H$ZxxL))0m%@Xe#sCph^!W=mbM%7 z(0AbO=GAPzx&nK3gQBxsWBiCnmHjk0wdO@0GP82hJCT~{f+={pAKh7 z>5i<}VY8oGvpKhB1_&WYYd)8Dx>|ku?4z591CpF?CPZ|1A&N0n)#HO92D#eL`>C4Q zSTZ0M^??})T%CYaD~cT7=$}84xp@rS&pS&i2vKz^IY)_+h~Iwm^x|?~vJz37YOQJx zfYh3)0Ra#~H85~De0sV4>1R)ufCFJ5RR0nXf;xbMfw2$()CO0(`Dl>iMI@p9SWDI< zbavP^^X*i|xgw$iRJGjna$jHj`dc5}f7S_ARd;Z}Y6?hKQ`yXQI~FsqO~+hzbGz7Q z11xTQ+)2lPXpZDA!f6q=FXyYxI1oj)i53oA^DImN)=HMznh1-ixg(-5A)*1O1E{-0 zGjISm4}ul2wB|t~063@v0T?*pzs5{e9RaGFD?Z<}<_-i$eOL|2+&5Fb*v`)sh!mKf${k&uaIvsuArr6r#TF|nHhBZi2GW_Eh> zV6z^#^L#C?7B;O>&;U|mH(-|53>+8<09;UnYimqw1WAYy2(g(-5O<0I=qTpO0Dyt9 zstb{-6S|o*0uUx4M0~Ny)#J%ZkZCjJAUGA>=bDR^sy60T7uZQFr0dJE>Nu&fJD9rX zYE=yY7F|j~RMi#CvCb8Vn*p%jedV|tLMc_71z`tQwGd=+8ka|li{1X9SFtq)E~dfE z)P+EprM7(xlBkh_Jb<`>ciz z=(yRo^Q&@kRl6hy%g~29HwD1lTotb7oO;h{w_?27=Tdzx)!c$mZDxS(KIX;<1OSBl ztPWsq-pS#ugLIHs*qR23M375nVnjSTO$R6O%slEP$4JK_#!M zrWnW*6$J!fCvdE4K%l0KkOD5E%1Xbx&kx)7o`;|R8``F1=!Iqd~q z9fm$3qT81on0Bw`%c~KHWkuKTdRR|2hf)w6KqV;aR;E6$enCRRO6Ns%D17gxOsI zW`oP^^!}$$=cWLt%_>084CsK=%n(@)x@%{{(Q!vfKKbl<-B_9Q#k0+|Ypbx3GR?DQ zGt=Ux#>|JO>07^Yi-?Imb+S705V;mLBMHQT<(=1W&n-*z#}CGjK6?J-$rgc3)g8b+ zh_t2-?f~;#D)0yZ)et?Ks{^?KIv5a95WIHOeeKPg!nn_6HXOyBhb(%tY!&fZ*=n zP6$9qNQ&_JG^2S12#nxR&4~yd`#{G5Z!F@`*)k3Z!Ivp?U9uy%b^F@0_3p!`>n~pH zP+@Kk#OOXZC&C6~P01k%0-%VXdmu<%JYJ>icbB+~xwfmzX?>MLjI~w(cfhN4esA;m z?kh*Hzi}f3FSRX)IF6Z_Q;NI&L Date: Fri, 5 Jul 2019 15:56:03 +0500 Subject: [PATCH 11/44] docs(update): add avatar to author blurb article --- .../Elegant - Pelican Theme/author-blurbs.md | 22 +++++++++++------- documentation/content/images/author-blurb.png | Bin 19629 -> 17953 bytes 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/documentation/content/Elegant - Pelican Theme/author-blurbs.md b/documentation/content/Elegant - Pelican Theme/author-blurbs.md index 51fdc239..2b7a78e0 100644 --- a/documentation/content/Elegant - Pelican Theme/author-blurbs.md +++ b/documentation/content/Elegant - Pelican Theme/author-blurbs.md @@ -15,13 +15,19 @@ Keywords: At the end of each article, you can provide a small blurb about the author. This can be done by setting up the `AUTHORS` dictionary in your configuration file. - :::python - AUTHORS = { - u'Talha Mansoor': { - u'blurb': """ created Elegant Pelican theme, dabbles in Python, Vim-L and JavaScript. They can be reached on Github, Twitter and email.""", - u'url': 'https://github.com/talha131/' - }, - } +```python +AUTHORS = { + "Talha Mansoor": { + "url": "https://www.oncrashreboot.com/", + "blurb": "is the creator and lead developer of Elegant theme.", + "avatar": "/images/avatars/talha131.png", + }, + "Pablo Iranzo Gómez": { + "url": "http://iranzo.github.io", + "blurb": " opensource enthusiast and Lego fan doing some python simple programs like @redken_bot in telegram, etc", + }, +} +``` Add an entry for each author you'd like a blurb to appear for. @@ -41,7 +47,7 @@ declare more than one author is to use `authors:`. This is an example of multiple authors using the following metatag value: - :::python + :::yaml authors: Talha Mansoor, Milton Bradley ![Author Blurb]({static}/images/author-blurb.png) diff --git a/documentation/content/images/author-blurb.png b/documentation/content/images/author-blurb.png index c3c1b1e588060669ca4b706d1796ac669efccbf4..66cb832d45d5d407edefc8bb22ed9af8c9b46108 100644 GIT binary patch literal 17953 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

$LY2!h}gLY7P^i^TY&_BcliPU|5U*K3z#@ zuJm!(J#h*$LvwF`6~P>QWrSk#gT^P4$pO{3&8v0pqxyWUuXLNheYv~>bpVRWSIGH& zHxLMCwIhRMcrc$3uK52&eVz4?7I!?0YQj<*jR;ets=J~O#7I=vN76brlu@3{x# zv-VW>{jyhUt#Pm){G|HZiitfF{rVhj%6L@u##2J;^F6LaD(AK^W$$Fu^U^QC4+i%0 zwe9=4zO2^3{sVg6xhKVI#|2Lfa)_9p_i^`(_ZV?OSZg>vQ88kYa?g+oGj^lb?oeyp$N3o&hcRT4auBVl`Zr`wOBR z(3No$U{o&JX5;ka+rkh`t1uq9a*?)qL)n~~<0|O&xQO0hna@wHUg-n7M}JdrOpl)Q%U@MU+M8dCl2>0dVfaTqtEbH8Mk7s;qkn7 z%-KkhWM50pFrfX@)9tYg31%cEAMP=MahN|+$7c+Kobm+UsyW(x=i6Q{2f_y$1fZ)7NABY5@eqSlA zkEn(Ex;x^y=6F^ykd5UPh-(V^&XMKs1nx;D2@kvWb2PNV^9;+@b*ALH<#zIRm7e3X z+M;v2y^$nNod{q0CU@U^LP^T^G;3S;e%q}L-Dg$^cjfBT~qr#o-qR^{tf;@a+CoRTlfjGCgiVdd#_Y`Jw>PM zjYVwl>c?jLdNR}g{&v$wbA;`lB-ZsTN|N2ln-y-T4+Lek(e zyvSwqrjAq-MODwB)^DZI!^;aMDG|(Z^0DF|j@=B+=n|~FSVD@2h&`!hvSk9Xc9|-1 zuXpbU&Q0)gG@mGa-AoI)w~U9JVdx!`UyO55>m3ycgZ(jL7Ni`d!{+M;NQ8bTy)VxAics?vVCymv+6e62*$ zCEh92ldLKnVs=H>ve`K?Y*EIIUQ=@-OcHW5DV6Wax}~we<>TzKr{}Pp zhy`LPx>>9809d!1jli7EevRknwoHv=t#>K47urADbqaaMt3e{O*DVo5SZ-?l4wxcJFj?%j&ZO}QhT&NW)2vJt6zKS&%6Q-(38WzDi z*`2|{Q}fWH7_WkPZ`~FR?F4s>h-p(KKa}zExwO3mW80fFz)b6-I%oBrx=O-OmhH~` z1kCZ^RB|Y;yi(Z(xef_>(K19+c>`Mi7iEg@QZD7(aq{Y7XTjZsVCKIkt#bD_@J=CB zvJE(CMs^(rj3$?Dj7od${fRxhP`g@lM;ietRLup&`k)g?*@4ZpS{R{k3!H|e!Yyu) zo$TnYG!cxIG~Y8R-E#M4w=Wb{+8gg~k6FkzW{EdH0t|48|8ItIM!J(2*1_V%3;g8~ z_TpgIP3&^VMC{F}M16o}RKqSerD`tJ956Ji<2!d}coi4tA-SLh5f3q~4hTzGLWxaQ zi+aHW^LJR`WSpgfNxc2N`g*w&Z60Nh;bM(Psl>TU!$);W10Ruh(#O0AsbCSLHuEQ) zTe6r;KZ0LlJ+`95pRm77r$&10_y5M>y@X@{C6LZq=Yi8JGCBvE+!m5w?%>EVl0Vk= z9iAvcM^3c(KHK~&2=r5qG>5eM$dk9}zDsmXhsVC>Q=F}1%piX>^D^g~s&dU?JIPJ8 zWO#dQkt^mN%rH-hl5+Y>#g&ddejP78DXC2=URC<)>ktr%QQ`(nqls5WQHo<)jkLo} z6CcLxktr;K)ey_J++efk7hw5HxCK>stT%MM!KbwRx0!JhaNUGAv<@1#e+{7!(qbuE zHD*I$F3PeBgCZGi)qAD5&#Gdex4##tUJDWFEJ;+gdt>KCbabQ_V<505WlpZXr z*7%?idu85@r_RR$qX=(9C`Qdy2_!q*@|_;+^@Cc=f237|mwWBkvK-&l<@B3zeR5%ccYm zOJ~@|HjXoMaHmb+hcXlcTN&vjENObmF$Ec<1ZbRvy1=JtMXl{24b3S=mOY^rh!B8U z-|XIv03dBz-Q;(+qy{6&6*d!CU)a}0X~*k{y;yq{h&^{AP+$7LHa zr86He27?}OVx>@DMYd{zDMxH3g~@S5-nm!nMe{Y;TtIm)s5_xTlGETF`a-#Sg*wrm zU+Gg?Eu;%qt$^R9*{%(8rtYi#B6WYXWQGra{-Y|o-!ZCR$zK4yww$L}l}XOL0a8s@ zBVP$jgtXF@C~b#2o|rER;6hbJVvYWm=`I=POq#+~-Hk&_i-61so!;8|aJKta?HRx- zswhTh^mMZ^I|K;LMF&yL27Z4{Jc4#CJxoShZa)4FgE?h(K9x8{JMhQ{0gu z;~?CgIT+6bn|s;83x=GpnjV*R-I?qjoE#yL8j?hB6`9d`UEfVtFR29gc7A4mN|?9v z!fx4~z$dZO#OhHw8wX2_dqV-Ez*s+{jcZ6f%X#O!gO`tC+FPGz#GUa9-VpB@juxlV62kaIU03VU7ZSQ9LZS!#X|cHrLm5>`Tw?)Rrk?MZ zhc>0rjl_Sd;CCU37brPO>Xp)tmV-X!Z8NX z-GSoooFZx7THP9v8pLp~RtT`on&YlxFay?2xhbGq1(37z@o&pILs2pX?TaZZ(NY0k z|M*KYNx{jG6xN#AZ1+2*DY2CV*tIVhsp+_pkt{|Bld#7Vd=xG+5WY%YmoVn zW?8tLLH$%P)E=ifEMCHB1_=6tQ3djbCIWz?d7;*q15$AD$cxp@rt^?e17ci)|F_{u zlTtT6GSiRl5+P~JjtiHm9%s` z*)gTAVi2;0$Q1mTsC27@z-oy?xOt7>6hu~`ue{gQxQbxODz5umo+x5ePH#K;Y9AxI z@MGu473Bf!Gey&G<8CGD8`|u*EdYh-K-cRstZ9;7w`c8eec7~2n6?4I z8(PP{A-DCUNTT)Ekn3B8`5$v;pgavt#E#W;jvKY7E1C=5ASPBrJSI+;+NI?R;OF$v znxx|rO!N#pcJknBE$2>9j4#~T_r$ip@{KEDJ%zFa>_nPUlT;d23N%`5@Pw>4a^PPK z3wv7kE4=SYj&nF2;S$MxgY$l87^i`qT}SdE16i#Vuqt8+Y|WrLGex1;eV7m#c9}>! z+1d?e7k*gjZs=O1h}(vKG^b97$jkqP!OuXFd5iDtB+?Ml*6I!8BKO$A#tSuBy}K)- z^a6#NWO&7o5AyXfo$dshT1tkN72sOW>_Ln+VQ z$bR~^F*6ZSfc0yuu1=m(z%msvA23^iR$oux2v~n)pM!sfHWO+Nc!Stxwp}dEst)Rh zRG+pbPVh36TP_3I^VcJ4omuZ}8c9=cr#L8dUm+@WHwvJS_9|EUTGmfbF)xKTx{xUQ zC%AeT%VYyeY+($yYP(|*E^`~~5)}-i;|k&)x1FP%8*JX`x~fNtS^ui6f{g+SlLnnc zDPA>^x*Z>J8W^E+r%T}r>%O|9aFvg%zsBa37G?xjM_zSUV`IiX0HBjCNze~%;ksKo zBLy^pX4ocyx}1!Hh%UPd>`M1+@^>S$M%lU2``5PF=XgVQErSTsecOy+WFPzmRzcFe zk&>kCIoZy$7-E`5Hj>8S!@R_yL5KtHa3=WmYXJZp{;WfwUKf_1%a)gOm6f+A{tx+I z63%67UBNJrfCW&xRCkIQFj6%iDS-G3{SQILU3Gi4iBF&>&0ClLh07@DoArgojvi{l?OT+G7@kB(_&cV6b#CdU7QsISzu--yH` zaup56o@BZjMllSZ2_K&(DMI`?nWP8SMZc#JzFiHcC&`!5NIrUp#TdHLQR#|KJ&As4EXOcmF^4)g?p7|fnL0-KW z2X9{86YVGz^f8R`d97~1+1ocB_71Uy=dQKZ*gJ#{S)9SuiAs-oR^o!ZZ+AP)TpSxl zg0ZBUzP;YC%)=N5PKqlmGbj3#rmVlm@sy^A`MQ@|{>6d<2w=M@7bHLs1mvKgAY}lO zejwufAczRW!ou?W#CFp}o3Z-Z+ASV_+VoS|Sy@{{d{Zzz?-O4>DUu2#;hEsnS~V+M zHt3KiS1y5Nt#gKXg^|SmipR)8gv0{sntL=4yfwauaNi!#j+<38LA747Dj2JNU z30E!~H!l}YoY^zG$%pV07IGTQq6LVSB@1U$=5#60A4o_m7flOiwaHlW`3V85S>8$~ z4{5`g<{;9lbvFcbN&5km#&kAbH!}x!vzh~XMT&Q@_hW@QQznXHHgYB;N%PzkVUWJb z6C^L|SIue=#_Gw>O|#3LB64&VT2-n+q6Pkx3n^13O#ecar?_n@mhN4uQ(6>yE}lH5 zY3uI>E87kUd|#5-cdqtNLhnx6emeL)FxkP&mMmny)@<9*455jJ8->s8*P+4N+GfSne_hQ0U^Ag?(?*9;msN0`#5ttFF6(7FVv_?P^S-e zNQaRhiyR85G-Vy_aGvfr|0)5zl9$((cop2XVpT*O*o%YF-N{rX-^KP%x)C746dy^V z52(O72#n5eS4I(O91y)2{xviDAPMjJM)$ErOrI( zTrw1FwMZ2}AJVF8yKSY1t0)G-GJ=c(q7a5%S^>Y)>4s!;aJRSD7qQT}BfI=3Q~dJY zB4uvEC=CLHJ4b3Zh#T!`1ggRn<=p1W;g64xe+*8=f^bPJMUMdk7TAaALMRxC&%;4@ z7#6v+vqP%@)kk_%Q$uHrYG9@kGBYEWVL};3zga3;A&!9~iV^tzMVNU@Q=>o+ENF(me<7zIi|3{GwYU-6h^q-?0+)<9~ z6gMBAr$u{`+)XTd6_$H377V2yRU@@SXnkoh)41QQ%2YoPPrqy_DHJJpei-AJFlH$_ zt$Jz`W);=E!V&oa4V@8kOs3GeorIIUguoq@usjFW4B)3j+X|%gFv7^vJtlbHZ@={D zF9!vdL8NN)(6!SoYZp+RG?nDhyY7*f65z~aTni1wp$V%~2Tdm4@~kd)dOKMHRD)U^gvcfw8ltHGAF)C|9zze;<-Om?$cTo)*C4LFQwzn2+Mo%Sr{`UL zvh|KQZfMKvBm*VH*r~WNb_x_D#YUi@gtT}7`NWnom4?5`*+bhG1KRm0ZMD?eXbj{w zX&Z5I4V)6<{ajXPD7bp|qPw>@Y{hI?c92^YG`i<_GL616t-Fi^rcZIxIr;Xsjk1Bd zz1#2bFKP^B|G$lP+!)G3e zccW18PZtI*#cWu9moY6We50Ey$r8uRl^s}YjG(C(*d z5G$>8MYnQzA+RiT)K%rT9+LgE&4DWtEmgR=kIZh3oICV+*ml0Kt*z}ps^vZ)b&_%w zPq<=EIhOe$LV5Q=j>0Hy=O{$Iajd;lhZ^LtEM;5l{}w7HhRZ&G=%_^r?Jnd-FOoi0 zY^2dn4L?g=UQH*WL7tX)%Al-&$6=gBBB`sZtA@OQfe6=~$oi?LaFu!Xs6BkL=B9}0 zqX1Eir@YN6r{y^Ri+qFzzpB=+n>Z&ktfl0uN^`l?@`L1rnRPOgUkwgNA8&~psKLmgw!(sj1kky> z{05a#_^?i#ONE#6B-P7^#JFH$Tm#gcE3(O0Pb|eVi=QWoY325A+HUqgiNP7EMa~<= zQv-ljLKGYn3Fw)an2`DtF_AYsj0e9aVgR@_z3tsA=& h1A?IgT@s+hIjE~I|RlF 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 literal 19629 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 O@T(ot_Ko$;g#QAAbTK*r From 2bd4d67302f9aabb5fa17b9b7193c958d21e2652 Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Fri, 5 Jul 2019 16:15:26 +0500 Subject: [PATCH 12/44] docs(update): user can use avatar hosted on Gravatar or other hosts --- .../content/Elegant - Pelican Theme/author-blurbs.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/documentation/content/Elegant - Pelican Theme/author-blurbs.md b/documentation/content/Elegant - Pelican Theme/author-blurbs.md index 2b7a78e0..6f8e323a 100644 --- a/documentation/content/Elegant - Pelican Theme/author-blurbs.md +++ b/documentation/content/Elegant - Pelican Theme/author-blurbs.md @@ -29,6 +29,14 @@ AUTHORS = { } ``` +Key of every entry in `AUTHORS` dictionary is the author name, for example "Pablo Iranzo Gómez". + +The value of each key is a dictionary which has three keys. + +1. `url` (string) URL that could be link to author's homepage or profile +1. `blurb` (string) brief introduction of author +1. `avatar` (string) URL to author's avatar. You could link to an image on your site or to an image on Gravatar, Imgur or any other image host service + Add an entry for each author you'd like a blurb to appear for. These blurbs will appear for each known author, as defined in the `AUTHORS` From aaa113d8e20028f1cc585af5342a98f764e25fff Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Fri, 5 Jul 2019 16:18:04 +0500 Subject: [PATCH 13/44] docs(update): replace metatag with metadata --- .../content/Elegant - Pelican Theme/author-blurbs.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/documentation/content/Elegant - Pelican Theme/author-blurbs.md b/documentation/content/Elegant - Pelican Theme/author-blurbs.md index 6f8e323a..d35fd052 100644 --- a/documentation/content/Elegant - Pelican Theme/author-blurbs.md +++ b/documentation/content/Elegant - Pelican Theme/author-blurbs.md @@ -47,13 +47,13 @@ file. Valid values are: - `author:` - This defines the _single_ author of the article. - `authors:` - This is a comma separated list of all article authors. Each known author will get a blurb. Each unknown author will not get a blurb. -- Default author defined in your configuration file. If either of the two metatags above are not used, the default author you configured will be utilized. This author still requires an entry in the `AUTHORS` dictionary. +- Default author defined in your configuration file. If either of the two metadata above are not used, the default author you configured will be utilized. This author still requires an entry in the `AUTHORS` dictionary. -**Note:** If you define multiple authors, but use the `author:` metatag, a blurb -will not be generated. This metatag is for a _single_ author. The correct way to +**Note:** If you define multiple authors, but use the `author:` metadata, a blurb +will not be generated. This metadata is for a _single_ author. The correct way to declare more than one author is to use `authors:`. -This is an example of multiple authors using the following metatag value: +This is an example of multiple authors using the following metadata value: :::yaml authors: Talha Mansoor, Milton Bradley From 1db7c3276d49daa2ee85f6cd08de8f1a69b83e78 Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Fri, 5 Jul 2019 16:20:19 +0500 Subject: [PATCH 14/44] chore(docs): update python packages --- documentation/requirements.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/documentation/requirements.txt b/documentation/requirements.txt index b2c1532a..4e46e519 100644 --- a/documentation/requirements.txt +++ b/documentation/requirements.txt @@ -3,7 +3,9 @@ blinker==1.4 cssmin==0.2.0 docutils==0.14 feedgenerator==1.9 +invoke==1.2.0 Jinja2==2.10.1 +livereload==2.6.1 Markdown==3.1.1 MarkupSafe==1.1.1 pelican==4.0.1 @@ -12,7 +14,8 @@ python-dateutil==2.8.0 pytz==2019.1 six==1.12.0 smartypants==2.0.1 -soupsieve==1.9.1 +soupsieve==1.9.2 +tornado==6.0.3 typogrify==2.0.7 -Unidecode==1.1.0 +Unidecode==1.1.1 webassets==0.12.1 From aff45986838fe8b37e5f9c33b7426e736463a9c8 Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Fri, 5 Jul 2019 16:40:17 +0500 Subject: [PATCH 15/44] chore(docs): enable filetime_from_git plugin to show Last Updated --- documentation/pelicanconf.py | 1 + documentation/requirements.txt | 3 +++ 2 files changed, 4 insertions(+) diff --git a/documentation/pelicanconf.py b/documentation/pelicanconf.py index a9193f96..7889090c 100644 --- a/documentation/pelicanconf.py +++ b/documentation/pelicanconf.py @@ -29,6 +29,7 @@ PLUGIN_PATHS = ["plugins"] PLUGINS = [ "sitemap", + "filetime_from_git", "extract_toc", "tipue_search", "liquid_tags.img", diff --git a/documentation/requirements.txt b/documentation/requirements.txt index 4e46e519..d3107991 100644 --- a/documentation/requirements.txt +++ b/documentation/requirements.txt @@ -3,6 +3,8 @@ blinker==1.4 cssmin==0.2.0 docutils==0.14 feedgenerator==1.9 +gitdb2==2.0.5 +GitPython==2.1.11 invoke==1.2.0 Jinja2==2.10.1 livereload==2.6.1 @@ -14,6 +16,7 @@ python-dateutil==2.8.0 pytz==2019.1 six==1.12.0 smartypants==2.0.1 +smmap2==2.0.5 soupsieve==1.9.2 tornado==6.0.3 typogrify==2.0.7 From 3d426d81ddbcaa90e445cb0eb7ebe38b729f423e Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2019 00:43:28 +0000 Subject: [PATCH 16/44] docs: update THANKS.md --- THANKS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/THANKS.md b/THANKS.md index f7e52308..11b0c2b1 100644 --- a/THANKS.md +++ b/THANKS.md @@ -6,7 +6,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d -
azzamsa
azzamsa

💻
Pablo Iranzo Gómez
Pablo Iranzo Gómez

🚇 ⚠️ 💻 📖 💬 🐛 📝 🖋 🤔 🚧 📆 👀
Jason He
Jason He

🐛
Ashwin Vishnu
Ashwin Vishnu

💻 ⚠️
codecachet
codecachet

🤔
jackdewinter
jackdewinter

📖
+
azzamsa
azzamsa

💻
Pablo Iranzo Gómez
Pablo Iranzo Gómez

🚇 ⚠️ 💻 📖 💬 🐛 📝 🖋 🤔 🚧 📆 👀
Jason He
Jason He

🐛
Ashwin Vishnu
Ashwin Vishnu

💻 ⚠️
codecachet
codecachet

🤔
jackdewinter
jackdewinter

📖
Dongdong Tian
Dongdong Tian

🐛
From dd67fb3de5006200c55d729a57c7146c1c8bbdd8 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2019 00:43:29 +0000 Subject: [PATCH 17/44] docs: update .all-contributorsrc --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 9218b361..9b29d734 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -71,6 +71,15 @@ "contributions": [ "doc" ] + }, + { + "login": "seisman", + "name": "Dongdong Tian", + "avatar_url": "https://avatars2.githubusercontent.com/u/3974108?v=4", + "profile": "https://seisman.info", + "contributions": [ + "bug" + ] } ], "contributorsPerLine": 7, From a4ff88a30498aa0c96ca053c68deced07ff2c6cc Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2019 00:44:44 +0000 Subject: [PATCH 18/44] docs: update THANKS.md --- THANKS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/THANKS.md b/THANKS.md index 11b0c2b1..3edc0c12 100644 --- a/THANKS.md +++ b/THANKS.md @@ -6,7 +6,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d -
azzamsa
azzamsa

💻
Pablo Iranzo Gómez
Pablo Iranzo Gómez

🚇 ⚠️ 💻 📖 💬 🐛 📝 🖋 🤔 🚧 📆 👀
Jason He
Jason He

🐛
Ashwin Vishnu
Ashwin Vishnu

💻 ⚠️
codecachet
codecachet

🤔
jackdewinter
jackdewinter

📖
Dongdong Tian
Dongdong Tian

🐛
+
azzamsa
azzamsa

💻
Pablo Iranzo Gómez
Pablo Iranzo Gómez

🚇 ⚠️ 💻 📖 💬 🐛 📝 🖋 🤔 🚧 📆 👀
Jason He
Jason He

🐛
Ashwin Vishnu
Ashwin Vishnu

💻 ⚠️
codecachet
codecachet

🤔
jackdewinter
jackdewinter

📖
Dongdong Tian
Dongdong Tian

🐛
Thomas Jost
Thomas Jost

💻
From fcca325603a551096ffd2e68ab4c835784a49148 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2019 00:44:45 +0000 Subject: [PATCH 19/44] docs: update .all-contributorsrc --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 9b29d734..017b9b6b 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -80,6 +80,15 @@ "contributions": [ "bug" ] + }, + { + "login": "Schnouki", + "name": "Thomas Jost", + "avatar_url": "https://avatars3.githubusercontent.com/u/64833?v=4", + "profile": "https://schnouki.net/", + "contributions": [ + "code" + ] } ], "contributorsPerLine": 7, From 96822be0ef70752416dfcb73a0083708859a37dd Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2019 01:34:56 +0000 Subject: [PATCH 20/44] docs: update THANKS.md --- THANKS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/THANKS.md b/THANKS.md index 3edc0c12..c4f840f7 100644 --- a/THANKS.md +++ b/THANKS.md @@ -6,7 +6,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d -
azzamsa
azzamsa

💻
Pablo Iranzo Gómez
Pablo Iranzo Gómez

🚇 ⚠️ 💻 📖 💬 🐛 📝 🖋 🤔 🚧 📆 👀
Jason He
Jason He

🐛
Ashwin Vishnu
Ashwin Vishnu

💻 ⚠️
codecachet
codecachet

🤔
jackdewinter
jackdewinter

📖
Dongdong Tian
Dongdong Tian

🐛
Thomas Jost
Thomas Jost

💻
+
azzamsa
azzamsa

💻
Pablo Iranzo Gómez
Pablo Iranzo Gómez

🚇 ⚠️ 💻 📖 💬 🐛 📝 🖋 🤔 🚧 📆 👀
Jason He
Jason He

🐛
Ashwin Vishnu
Ashwin Vishnu

💻 ⚠️
codecachet
codecachet

🤔
jackdewinter
jackdewinter

📖
Dongdong Tian
Dongdong Tian

🐛
Thomas Jost
Thomas Jost

💻
Florian Krause
Florian Krause

🐛
From 0689fca6150ce19eeeb956acbeabad890384fbee Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2019 01:34:57 +0000 Subject: [PATCH 21/44] docs: update .all-contributorsrc --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 017b9b6b..2e199f8b 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -89,6 +89,15 @@ "contributions": [ "code" ] + }, + { + "login": "fladd", + "name": "Florian Krause", + "avatar_url": "https://avatars3.githubusercontent.com/u/2971539?v=4", + "profile": "http://www.fladd.de/code", + "contributions": [ + "bug" + ] } ], "contributorsPerLine": 7, From c1567dae64878dc85bff09c1e26794ffb50f4d08 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2019 10:49:04 +0000 Subject: [PATCH 22/44] docs: update THANKS.md --- THANKS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/THANKS.md b/THANKS.md index c4f840f7..b0ea4427 100644 --- a/THANKS.md +++ b/THANKS.md @@ -6,7 +6,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d -
azzamsa
azzamsa

💻
Pablo Iranzo Gómez
Pablo Iranzo Gómez

🚇 ⚠️ 💻 📖 💬 🐛 📝 🖋 🤔 🚧 📆 👀
Jason He
Jason He

🐛
Ashwin Vishnu
Ashwin Vishnu

💻 ⚠️
codecachet
codecachet

🤔
jackdewinter
jackdewinter

📖
Dongdong Tian
Dongdong Tian

🐛
Thomas Jost
Thomas Jost

💻
Florian Krause
Florian Krause

🐛
+
azzamsa
azzamsa

💻 📖
Pablo Iranzo Gómez
Pablo Iranzo Gómez

🚇 ⚠️ 💻 📖 💬 🐛 📝 🖋 🤔 🚧 📆 👀
Jason He
Jason He

🐛
Ashwin Vishnu
Ashwin Vishnu

💻 ⚠️
codecachet
codecachet

🤔
jackdewinter
jackdewinter

📖
Dongdong Tian
Dongdong Tian

🐛
Thomas Jost
Thomas Jost

💻
Florian Krause
Florian Krause

🐛
From 58de6114db337000f68eec81872122b186b46f58 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2019 10:49:05 +0000 Subject: [PATCH 23/44] docs: update .all-contributorsrc --- .all-contributorsrc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 2e199f8b..1e21ff2f 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -11,7 +11,8 @@ "avatar_url": "https://avatars2.githubusercontent.com/u/17734314?v=4", "profile": "http://azzamsa.com/", "contributions": [ - "code" + "code", + "doc" ] }, { From 561f1d7dee31ef7fa0536fbde71aed9baebce3f6 Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Fri, 5 Jul 2019 16:48:28 +0500 Subject: [PATCH 24/44] ci(spellcheck): add words to the dictionary --- .yaspeller.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.yaspeller.json b/.yaspeller.json index 465933cd..ea06db2f 100644 --- a/.yaspeller.json +++ b/.yaspeller.json @@ -73,6 +73,7 @@ "github", "github.com", "google", + "gravatar", "gshen42", "Gómez", "Hi Talha", @@ -81,6 +82,7 @@ "https", "Iconifier.net", "ijvxwtg", + "imgur", "io", "iOS", "iranzo", From de1d05b084323246d82d9af8f92f41f4fecee513 Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Fri, 5 Jul 2019 17:10:20 +0500 Subject: [PATCH 25/44] fix(authors): title attribute was not closed in quotes --- templates/_includes/article_author.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/_includes/article_author.html b/templates/_includes/article_author.html index 1c538d24..f59032f6 100644 --- a/templates/_includes/article_author.html +++ b/templates/_includes/article_author.html @@ -12,7 +12,7 @@

{% include '_includes/footer.html' %} {% block script %} + {% if AMAZON_BESTAZON %} + {% include '_includes/bestazon.html' %} + {% endif %}
{% if AUTHORS.get(author|string).avatar %} - {{author}} Avatar + {{author}} Avatar {% endif %} {{ author }} From b0eac79d7ad518de515fbb98bfd37c3754ec19a2 Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Fri, 5 Jul 2019 17:22:32 +0500 Subject: [PATCH 26/44] feat(modified): show Last Updated only if the difference between created and modified is more than a day --- templates/_includes/last_updated.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/templates/_includes/last_updated.html b/templates/_includes/last_updated.html index f7facea6..9ccd54e4 100644 --- a/templates/_includes/last_updated.html +++ b/templates/_includes/last_updated.html @@ -3,10 +3,12 @@ If it is >3.3 than modified is a datetime object #} {% if article.locale_modified and article.modified %} - +{% set delta = (article.modified - article.date).days %} +{% if delta > 0 %}

Last Updated

{% set day = article.modified.strftime('%d')|int %} +{% endif %} {% elif article.modified %}

Last Updated

From 6425fb59fe6e7339692fed85e060029cab14d19e Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Fri, 5 Jul 2019 17:28:24 +0500 Subject: [PATCH 27/44] docs(update): add deprecation warning to modified metadata article --- .../content/Appearance and Style/modified-date.md | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/documentation/content/Appearance and Style/modified-date.md b/documentation/content/Appearance and Style/modified-date.md index fa5b3fba..16223bb0 100644 --- a/documentation/content/Appearance and Style/modified-date.md +++ b/documentation/content/Appearance and Style/modified-date.md @@ -33,9 +33,18 @@ setting you can put modified date in your reST formatted file as Elegant will process it and display the last updated as "Jan 22, 2014". -Previous versions do not have `modified` metadata in which case type of its -value is string. If you are using old version of Pelican, i.e 3.3 or less, make -sure you assign it a value exactly the way you want it to appear. Taking the +### Deprecated + +!!! Danger "Warning: Legacy Variable" + + Pelican versions prior to 3.4 does not have `modified` metadata in which case type of its + value is string. + +If you are using old version of Pelican, i.e 3.3 or less, make +sure you assign it a value exactly the way you want it to appear. +Whatever you type, it will appear as it is. + +Taking the example from above, metadata in your reST formatted file should be, :::Rest From 38eb35458c186a859ff84a0aecebe7923ac62e12 Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Fri, 5 Jul 2019 17:39:04 +0500 Subject: [PATCH 28/44] docs(update): add doc on last updated condition --- .../content/Appearance and Style/modified-date.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/documentation/content/Appearance and Style/modified-date.md b/documentation/content/Appearance and Style/modified-date.md index 16223bb0..96facd08 100644 --- a/documentation/content/Appearance and Style/modified-date.md +++ b/documentation/content/Appearance and Style/modified-date.md @@ -33,6 +33,14 @@ setting you can put modified date in your reST formatted file as Elegant will process it and display the last updated as "Jan 22, 2014". +!!! important "Condition to Display Last Updated" + + Last Updated is only displayed if the difference between `article.modifed` + and `article.date`is more than or equal to a day. + + This means if you modify and article the same day you add it, then Last + Updated will not be displayed. + ### Deprecated !!! Danger "Warning: Legacy Variable" From 06b7e95e8b81d422a97c505519cfb37a3985257b Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Fri, 5 Jul 2019 17:46:44 +0500 Subject: [PATCH 29/44] docs(update): add tip about filetime_from_git --- .../Appearance and Style/modified-date.md | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/documentation/content/Appearance and Style/modified-date.md b/documentation/content/Appearance and Style/modified-date.md index 96facd08..e50e1b93 100644 --- a/documentation/content/Appearance and Style/modified-date.md +++ b/documentation/content/Appearance and Style/modified-date.md @@ -12,18 +12,19 @@ authors: Talha Mansoor --- You need to update your articles time and again. Sometimes it makes sense to -display the date when you updated the article. You can show the last updated +display the date when you updated the article. + +Pelican release [v3.4.0](http://docs.getpelican.com/en/stable/changelog.html#id9) has a new +[ metadata field `modified`](https://github.com/getpelican/pelican/pull/1148). Type of +its value is `datetime`. + +You can show the last updated date of the article by defining `modified` in your article metadata. This is how it is displayed in the side bar, ![Modified Date]({static}/images/elegant-theme_last-modified.png) -Pelican post [version -3.3](https://github.com/getpelican/pelican/releases/tag/3.3.0) has a new -[`modified` metadata](https://github.com/getpelican/pelican/pull/1148). Type of -its value is `datetime`. - Depending on your [`DATE_FORMATS`](http://docs.getpelican.com/en/latest/settings.html#basic-settings) setting you can put modified date in your reST formatted file as @@ -41,6 +42,12 @@ Elegant will process it and display the last updated as "Jan 22, 2014". This means if you modify and article the same day you add it, then Last Updated will not be displayed. +!!! tip + + You may want to enable + [`filetime_from_git`](https://github.com/getpelican/pelican-plugins/tree/master/filetime_from_git) + Pelican plugin to auto fill the modified field for your Git commit history. + ### Deprecated !!! Danger "Warning: Legacy Variable" From 34df22bccffd8f552b9aa07ef0f18f4188e9c3e4 Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Fri, 5 Jul 2019 18:05:13 +0500 Subject: [PATCH 30/44] ci(w3d): add Online-W3C-Validator to the requirements --- .travis.yml | 1 - documentation/requirements.txt | 7 +++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4c922127..3cc0201d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,7 +22,6 @@ cache: install: - pip install -r documentation/requirements.txt -- pip install -U Online-W3C-Validator - pip install -U html5validator - pip install -U pre-commit - yarn global add yaspeller diff --git a/documentation/requirements.txt b/documentation/requirements.txt index d3107991..8a01a58e 100644 --- a/documentation/requirements.txt +++ b/documentation/requirements.txt @@ -1,19 +1,25 @@ beautifulsoup4==4.7.1 blinker==1.4 +certifi==2019.6.16 +chardet==3.0.4 cssmin==0.2.0 docutils==0.14 feedgenerator==1.9 gitdb2==2.0.5 GitPython==2.1.11 +idna==2.8 invoke==1.2.0 Jinja2==2.10.1 livereload==2.6.1 Markdown==3.1.1 MarkupSafe==1.1.1 +Online-W3C-Validator==0.3.11 +pbr==5.4.0 pelican==4.0.1 Pygments==2.4.2 python-dateutil==2.8.0 pytz==2019.1 +requests==2.22.0 six==1.12.0 smartypants==2.0.1 smmap2==2.0.5 @@ -21,4 +27,5 @@ soupsieve==1.9.2 tornado==6.0.3 typogrify==2.0.7 Unidecode==1.1.1 +urllib3==1.25.3 webassets==0.12.1 From 8e5a9f931a8e29de2dc25c9d6768764af1d0491b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Iranzo=20G=C3=B3mez?= Date: Fri, 5 Jul 2019 15:55:29 +0200 Subject: [PATCH 31/44] docs(update): update author avatar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Pablo Iranzo Gómez --- documentation/pelicanconf.py | 1 + 1 file changed, 1 insertion(+) diff --git a/documentation/pelicanconf.py b/documentation/pelicanconf.py index 7889090c..4808de45 100644 --- a/documentation/pelicanconf.py +++ b/documentation/pelicanconf.py @@ -162,5 +162,6 @@ "Pablo Iranzo Gómez": { "url": "http://iranzo.github.io", "blurb": " opensource enthusiast and Lego fan doing some python simple programs like @redken_bot in telegram, etc", + "avatar": "https://avatars.githubusercontent.com/u/312463", }, } From 2c239618fffeb8543f530f407032eeab7d039ae4 Mon Sep 17 00:00:00 2001 From: Talha Mansoor Date: Sat, 6 Jul 2019 06:36:30 +0500 Subject: [PATCH 32/44] fix(article): fix regression introduced in 7ca7331c0 --- templates/article.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/article.html b/templates/article.html index 81d4cc6e..2885b859 100644 --- a/templates/article.html +++ b/templates/article.html @@ -89,7 +89,7 @@

{{ title }}

{% set ptitle = article.prev_article.title|striptags|e %} {% set pv_title = article.prev_article.title|striptags %} {%if article.prev_article.subtitle %} - {% set pv_title = pv_title + ' ' + '' + article.prev_article.subtitle|striptags + '' %} + {% set pv_title = pv_title + ' ' + '' + article.prev_article.subtitle|striptags + '' %} {% set ptitle = ptitle + ' - ' + article.prev_article.subtitle|e %} {% endif %} From 1fdf40a8d6ea6a8129bf0733b14620f29208fa58 Mon Sep 17 00:00:00 2001 From: Jack De Winter Date: Fri, 5 Jul 2019 21:15:57 -0700 Subject: [PATCH 33/44] docs(update): set author information --- documentation/pelicanconf.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/documentation/pelicanconf.py b/documentation/pelicanconf.py index 4808de45..7f61e75c 100644 --- a/documentation/pelicanconf.py +++ b/documentation/pelicanconf.py @@ -164,4 +164,8 @@ "blurb": " opensource enthusiast and Lego fan doing some python simple programs like @redken_bot in telegram, etc", "avatar": "https://avatars.githubusercontent.com/u/312463", }, + "Jack De Winter": { + "url": "http://jackdewinter.github.io", + "blurb": "ever evolving, ever learning", + }, } From 6d8a23c47807980bbb2f9142f00fc81b45127605 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Iranzo=20G=C3=B3mez?= Date: Fri, 12 Jul 2019 12:11:25 +0200 Subject: [PATCH 34/44] feat(monetization): add BestAzon support --- .../content/Monetization/bestazon.md | 92 +++++++++++++++++++ templates/_includes/bestazon.html | 8 ++ templates/base.html | 3 + 3 files changed, 103 insertions(+) create mode 100644 documentation/content/Monetization/bestazon.md create mode 100644 templates/_includes/bestazon.html diff --git a/documentation/content/Monetization/bestazon.md b/documentation/content/Monetization/bestazon.md new file mode 100644 index 00000000..9c5b7cb9 --- /dev/null +++ b/documentation/content/Monetization/bestazon.md @@ -0,0 +1,92 @@ +--- +authors: Pablo Iranzo Gómez +title: Bestazon Support +tags: amazon, affiliates, income, bestazon +layout: post +date: 2019-01-12 07:30:47 +0100 +comments: true +category: Monetization +description: +slug: amazon-bestazon +comment_id: amazon-bestazon +--- + +Elegant supports [BestAzon](https://bestazon.io/), so that you may monetize your traffic using affiliate links from amazon. + +Similar to [Amazon One Link]({filename}amazon-one-link.md), bestazon provides technology that redirects amazon links to each country shop by using your associate tags + +In order to configure Bestazon, an array should be provided containing variables for configuration, like: + +```js +var BestAzon_Configuration = { + Amzn_AfiliateID_US: "redken01-20", + Amzn_AfiliateID_CA: "redken03-20", + Amzn_AfiliateID_GB: "redken01-21", + Amzn_AfiliateID_DE: "redken06-21", + Amzn_AfiliateID_FR: "redken07-21", + Amzn_AfiliateID_ES: "redken-21", + Amzn_AfiliateID_IT: "redken0d-21", + Amzn_AfiliateID_JP: "", + Amzn_AfiliateID_IN: "", + Amzn_AfiliateID_CN: "", + Amzn_AfiliateID_MX: "", + Amzn_AfiliateID_BR: "", + Conf_Custom_Class: " BestAzon_Amazon_Link ", //enter if you'll like to add any CSS class to the Amazon links (can be used for styling) + Conf_New_Window: "1", //enter "1" if you'll like to open Amazon links in new window (recommended), "2" to force open in the same window, keep blank if you'd use the defaults + Conf_Link_Follow: "1", //enter "1" if you'll like to add no-follow to the Amazon links (recommended), "2" to not add no-follow + Conf_Product_Link: "1", //enter "1" if you'll like to redirect international visitors to equivalent search page on local Amazon stores (recommended and fast), "2" if you want them to go to equiavalent product page (slow) + Conf_Tracking: "1", //enter "1" if you'll like to enable tracking (useful to optimize the service to you), "2" to disable + Conf_Footer: "1", //enter "1" to add credit in footer (recommended), "2" to disable + Conf_Link_Keywords: "", //enter additional keywords - if any of these keywords is found in any URL on your site, that will be sent to Bestazon for localization (useful if you use short links like bitly to hide your affiliate links). E.g. enter "/amazon/" if all your Amazon links containt the string /amazon/ + Conf_Hide_Redirect_Link: "1", //enter "1" to not replace your original link with bestazon links (recommended), "2" if you want to replace (not recommended) + Conf_Source: "BestAzonScript" //DO NOT CHANGE THIS +}; +``` + +Follow to generate that configuration based on your tag id's first. + +Elegant does take care of loading the script for BestAzon and inserting your configuration if defined. + +In order to do so, in your pelican configuration, preferably in the file `publishconf.py`, set `AMAZON_BESTAZON` to your bestazon configuration, for example: + +```py +AMAZON_BESTAZON = """var BestAzon_Configuration = { +"Amzn_AfiliateID_US": "redken01-20", +"Amzn_AfiliateID_CA": "redken03-20", +"Amzn_AfiliateID_GB": "redken01-21", +"Amzn_AfiliateID_DE": "redken06-21", +"Amzn_AfiliateID_FR": "redken07-21", +"Amzn_AfiliateID_ES": "redken-21", +"Amzn_AfiliateID_IT": "redken0d-21", +"Amzn_AfiliateID_JP": "", +"Amzn_AfiliateID_IN": "", +"Amzn_AfiliateID_CN": "", +"Amzn_AfiliateID_MX": "", +"Amzn_AfiliateID_BR": "", +"Conf_Custom_Class": " BestAzon_Amazon_Link ", //enter if you'll like to add any CSS class to the Amazon links (can be used for styling) +"Conf_New_Window": "1", //enter "1" if you'll like to open Amazon links in new window (recommended), "2" to force open in the same window, keep blank if you'd use the defaults +"Conf_Link_Follow": "1", //enter "1" if you'll like to add no-follow to the Amazon links (recommended), "2" to not add no-follow +"Conf_Product_Link": "1", //enter "1" if you'll like to redirect international visitors to equivalent search page on local Amazon stores (recommended and fast), "2" if you want them to go to equiavalent product page (slow) +"Conf_Tracking": "1", //enter "1" if you'll like to enable tracking (useful to optimize the service to you), "2" to disable +"Conf_Footer": "1", //enter "1" to add credit in footer (recommended), "2" to disable +"Conf_Link_Keywords": "", //enter additional keywords - if any of these keywords is found in any URL on your site, that will be sent to Bestazon for localization (useful if you use short links like bitly to hide your affiliate links). E.g. enter "/amazon/" if all your Amazon links containt the string /amazon/ +"Conf_Hide_Redirect_Link": "1", //enter "1" to not replace your original link with bestazon links (recommended), "2" if you want to replace (not recommended) +"Conf_Source": "BestAzonScript" //DO NOT CHANGE THIS +}; +""" +``` + +When the site is generated, if this variable is defined, it will load the configuration in `base.html` and load the script from bestazon that enables the link substituon. + +Now, when international visitors of your site click on a link on your site to buy from Amazon, they are redirected to their local or nearest Amazon market place. + +This is an optional feature. If you do not set the variable then BestAzon script is not added to the rendered output. + +You, as a content creator, should be aware of GDPR or other regulations. +[Section 5 of the Operating +Agreement](https://affiliate-program.amazon.com/help/operating/agreement) for +Amazon Associates states that you need to disclose your affiliation with Amazon and that you earn from qualifying purchases. + +To conform to this rule in the agreement, Elegant automatically adds the disclaimer in the footer of the website if `AMAZON_ONELINK` variable is set. It looks like this, + +![Amazon OneLink Disclosure]({static}/images/amazon-online-disclaimer.png) diff --git a/templates/_includes/bestazon.html b/templates/_includes/bestazon.html new file mode 100644 index 00000000..3bb687c9 --- /dev/null +++ b/templates/_includes/bestazon.html @@ -0,0 +1,8 @@ +{% if AMAZON_BESTAZON %} + + + + +{% endif %} diff --git a/templates/base.html b/templates/base.html index a60363b2..397a1e62 100644 --- a/templates/base.html +++ b/templates/base.html @@ -100,6 +100,9 @@