From ea84035fee9949c545961c77579387729e36e90a Mon Sep 17 00:00:00 2001 From: Matt Mulhall Date: Sat, 29 Feb 2020 15:45:04 +1000 Subject: [PATCH] Initial commit --- .gitattributes | 2 + CHANGELOG.md | 5 + LICENSE | 21 ++++ README.md | 38 +++++++ assets/demo-min.png | Bin 0 -> 61224 bytes assets/fonts/icomoon.eot | Bin 0 -> 3188 bytes assets/fonts/icomoon.svg | 17 ++++ assets/fonts/icomoon.ttf | Bin 0 -> 3024 bytes assets/fonts/icomoon.woff | Bin 0 -> 3100 bytes assets/style.min.css | 1 + assets/style.min.css.map | 1 + assets/style.scss | 128 ++++++++++++++++++++++++ aura-authors.php | 122 ++++++++++++++++++++++ aura-authors.yaml | 2 + blueprints.yaml | 101 +++++++++++++++++++ blueprints/aura-authors.yaml | 17 ++++ templates/partials/author-bio.html.twig | 44 ++++++++ 17 files changed, 499 insertions(+) create mode 100644 .gitattributes create mode 100644 CHANGELOG.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 assets/demo-min.png create mode 100644 assets/fonts/icomoon.eot create mode 100644 assets/fonts/icomoon.svg create mode 100644 assets/fonts/icomoon.ttf create mode 100644 assets/fonts/icomoon.woff create mode 100644 assets/style.min.css create mode 100644 assets/style.min.css.map create mode 100644 assets/style.scss create mode 100644 aura-authors.php create mode 100644 aura-authors.yaml create mode 100644 blueprints.yaml create mode 100644 blueprints/aura-authors.yaml create mode 100644 templates/partials/author-bio.html.twig diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..50d458a --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,5 @@ +# v0.1.0 +## 29-02-2020 + +1. [](#new) + * ChangeLog started... diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..c936675 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2020 Matt Mulhall + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..af95293 --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +# Aura Authors Plugin + +The **Aura Authors** Plugin for [Grav CMS](https://github.com/getgrav/grav) enables you to store author bios in a centrally managed repository and have them displayed across various pages of your site. + +![Aura Authors Plugin for Grav - Demo](assets/demo-min.png) + +## Features + +* Easily manage author bios via the Grav admin interface +* Central repository ensures that a single change to an author's bio will automatically update it across multiple pages +* Optionally include author's image and links to social media accounts such as Twitter, LinkedIn etc. +* Use the included mobile and desktop responsive styling or provide your own + +## Installation + +It is recommended to install Aura Authors directly through the Admin Plugin by browsing to the `Plugins` tab and selecting `Add`. + +## Configuration + +* Enter author details via the Admin Plugin by browsing to `Plugins` > `Aura Authors` and selecting `Add Item`. + +* Copy the following code snippet to the relevant Twig template within your theme, at the place where you would like the author bio to be displayed. + +``` + {% include 'partials/author-bio.html.twig' ignore missing %} +``` + +* The above will output the relevant author bio on all pages of that type, once an author is defined at the page level (see Usage below). Alternatively if you do not have access or do not wish to edit the theme you can include the code snippet directly within a page via the page editor. For this option to work you will need ensure Twig processing is enabled either at the page level (`Page Editor` > `Advanced` > `Overrides` > `Process`) or the site level (`Configuration` > `System` > `Content` > `Process`). + +* Optionally customise the layout of the author bio by copying the included templates/partials/author-bio.html.twig into the same location under your theme and editing it. Default styling can be disabled via the Plugin configuration panel if you wish to provide your own. + +## Usage + +Authors can be selected per page via the page editor, on the `Aura` tab. The list of authors will be automatically populated with author records you create via the Plugins panel. + +## Credits + +Includes a subset of the [IcoMoon - Free](https://icomoon.io/#icons-icomoon) icon pack. \ No newline at end of file diff --git a/assets/demo-min.png b/assets/demo-min.png new file mode 100644 index 0000000000000000000000000000000000000000..67564e598b5e5c7ccef1cbee06698c4518e7898a GIT binary patch literal 61224 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 z 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 literal 0 HcmV?d00001 diff --git a/assets/fonts/icomoon.eot b/assets/fonts/icomoon.eot new file mode 100644 index 0000000000000000000000000000000000000000..8e5ba2b87658b215c487892df7574df55899040c GIT binary patch literal 3188 zcmaJ@O>7(25uUe8arvX=YDq3BN+d;*6v-7SYWXipp~Tv5B+IcRt3YbIwkt-WNn4hv zNOT*aJ*Yri6b*_hMo=V&06O&0LlLw<4oQ*2q6iWs_Myn32Oo-{Jyp5%;sQl$vGaD< z6(y^l-M9PAym|9x-pt#5?OuRC*#QVJaFPh@6DoOS>7<g0Q}@bGjWfCKKpDzsn& zTMIT(!2!!qhX&k-dr*UIlz8A(lx)Ke>QbE$WFQTSrh9rc3h9J)*aH@n#cz#g1t<40 zN@!bI-KcH-`R%uVgi3zof840;Y~i~P`2&1g8uxZ@Z=0^ykpB$;r#9=gwSLd-&j74V z>@PM^!2OYZggn)cHaFUDgn`^b{uAU=_gbqp^8@Q1^8Y}-f1~!s7KrdUfX#w@XtTCa ze|O&cZ{!m=$4|FfJ8kq6$^JXq4=k&aedqyT-eqtW_@(|PUqg;qsa_Wmbo(S#0S>=p z)s6~P78`cbwRlD$4ba(W^JAa>W;HE8n1IIU!PQ{FjIz+*A0F->J~;f<;d_T)9Ddn( z+UaN(&XSYP-#lgMzSNdpm)4~jX##C@&#etK9s~$l61w`am`Y_${dmlaWefy6kJ!Jm zA3zS)FwAf)j#s`^oFUUBm-Tq@a&u;Zn8PTZA;o+=O(J0`aMK_aBPb%IU&$dS-^_$ zB9kjb!Wceh4v>hH6Y(lV3i%?la&VBA<%;Os+fxrhs*45HDOO}Ty`moBZdX@$7uv$g zL|YxSH3tviefR@>iZ*e*gQWYG+-5pQ*B!ytPLu8%CoN5r?mJfqpB^T;Pn*W{bdNz? z$e%VH$w+#PlAC(v$z|z~Vu2PxJcfzKxv@ylOX4=8XFAJ3V@4iHIh=zI-pTdY8N%Rg z@8O)hW6Kll%YiM1YpZ7cYR4h?N z4->Hz?|jZf2k#eY4At9>YN9(zhTQl+F6u#8c|C}eE*e3M(J(cQe?9N6?)uS!<}^A^ zKGwaCV#(0LGyz+MMP#r}FhBUDdsHh%coBq!zQ7gyV7k{A*5F${)+;hY$8b!{)Q_j}fP?fh&qsaP!^ z`DW*0A04Sk6N$tGZA|q$!;@G4E zBMjWVdGk#GY}pbHQ%) zob&fxmx7Y#QZ_qT8Xv#lc6q$>N+zFax>(k1irUb&IN_iFetqfs>*K?T#ei?5k`6|L zfy>b-@4qKId@?P1)<4;P;JzAL=+1ned%g~va5YvlNCWDCz$+8&@C zI7U08;QptCPn4V>!;&teTL*Q5CRC#%x>}WDjcnkCAbbFi$r1BC<}o|Kex+Hp!)Jj1 zEF@~?G&%4Orq4})!%iJDh*u2EA}$)(g!sOJd+>xQ8Q6^SO9r;V0M;d*eN0xAIIu^@ z4C01?S;Q3sn-Krdz&&{O3K`gp@?`_tAP>L3v)bBdwKh+lmS3%J@7!r^hB9g8>?87- zqs|mA*Bkfm)wWNbz0cHqxwY92HR_x7?OMCO7J6+rbaAzH8GTE`%i8h0jZrl4z`m&+ f+H26p_ZrGxgI#=H)Q + + +Generated by IcoMoon + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/fonts/icomoon.ttf b/assets/fonts/icomoon.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ae577799faa876145f9a636c97eb0bf804be2992 GIT binary patch literal 3024 zcmaJ@O>7&-6@IfzarvX=YDq3BN+d;*6v-7SY56Zop~%{9B+IoVyFhBYwkt-WNn4hv zNOT*aJ*Yri6b*_xMo=_|0y^~2LlLw<4oQ*2q9_t1@hOKKd?PEb{28nERj9Mru#?Wk6N+endZR6fefpc# zw1Qv(nxhYAg9R(fB7gt%`2O*O<6j>C`uLOM&-#!1ea*sYa?<~suOi)(y3%XXmQ<5w z(T3T#HqdwwAZST2^)mqFil%-t=EX7w!u^NrU)gsd51W`~G?B!sP%hQT0?Frme!RS# zRUp}oc9 zHKsFHgp42vS7h0n4+isIRh9+8=5f6DLIoi`bYhB}vvKjMshd+%aWy(I5jF6)hK7VR z8t%$oNkY3_8Aoxp-cMhwAqXe7=#&!zeU$~Q2tP9UVl0a3bJh@vNqG^ka;#V=G3!T1 z)3RI@-G_(jQAG8ypt{AXEKjeiJzzjx=RIf(D-&(?(bf_?fOp`J@FCj7`3@8FEqSff zhv|;tY)=#OjZVu8#C+$A(PxKA-e*nY@|edUE*73O9m`63j*^!~<;&;jkW!HrK{A00 zkG`=;FiPUJVq`kYK&vKCWL)l17w_fsFm=h(X>(H3&oS zep;h_MwaJ?M>3KWbT|gl0$Le#ID(Rt85y3J?T^*{PRIKpGlat*py2R0yjx!{{dk!V48{_POX+mx&Cc$xl1VaFl$gKpBI|i+!ac%; z<3nO4k;n`V53-_INhTG4DO9>1BCbI~$Tzw!3(Js&%gm(05T9Ed=B%ai@9u21IiB;C zBQ#Y!&EN{=n}V~jh#4zJax~!zQSfBqjMC34xHG-JtfFT|>o=EGXw@5apH)g#Qb=Tp z$P@OTZhvTADAsCQaipzUttiZg{BDN>@)3dZwd%wyVKYm z_mGI$&8y|!F;jo6GGFKlv-&*tRh&l^M&W1Z{YkZ)zRi=``I4n)y7>Sw)tFD4)Dm5d z|D6d~U;3#+6QL`iRU~J9Qjx`iX6#AM^kc$VV+`E6apMg+m6G4MapR5|N6(D$QJcl@ ztVDB@>8dD7(sC|WSt^&7JsxG!$}z;o62iJXcWz#8t<8_iHpl2_Xncm}IJeEtax7CV z6fQ_oEOxMV>H76cYX>nTidpq}ce?BUoO9ZJXM#i5q_E_>kju@LXJ*cMJwE@kk}YK0 z9+tIQ;tsSe&IXsi*Ic{y+RS)rH58brPKV>+(8YM151tie zrz>9tz9YQ!6*w(a3Xi`3=ETX{SS|dw()IxDz%klC3hsYO_(aK5WLVN=bnBo_*n(3=(15*DHDB)RbR(_iPIIr(ZEi+hJ&2s&=v>6urr~AHcNe|4(9Dh& cQ3Ja8-bC4}aDdPAS^^jK1TaQ=ro52;3mDAWX8-^I literal 0 HcmV?d00001 diff --git a/assets/fonts/icomoon.woff b/assets/fonts/icomoon.woff new file mode 100644 index 0000000000000000000000000000000000000000..6a6341fbaa64151e361eadd9e42cd5d3cb56ecf4 GIT binary patch literal 3100 zcmaJ@O>7(25uUe8aml5Y%O$y_D3KCHQY2TTq~*UTnIdbumMqtj>=vo*+O8OhCT&@w zBhgKS_TU0-P&6p&7(tO70{GBl5ukt%Ns+^%hX!qYD01k*hazZCReEd+6phKw+g(SL zt@?3i`OUm}^RqMW?Y_Qx<_r+PF&G2~{dfG?;3+;jR=+)y1t2z*u2T}-+{YW+^*bnQ zA^#Ife|hJfA2;iJRQ6BgsV*f~^Y;D?l>G~U(4+8+qd(30xe`)-aFCa(k$oCIILpd^P00*D3 zT2F%-i-dEeZ$7MJ-3y{1&QTo1JJkw;1?cnhfeR&8l!gEC>B0Sj2M518c>mx}2cPwx z_IfxE$I40X@4m8pSMJEK$y;(&o;9uN3!b|XAZSU{y&6*tK&h;UdKmA^Wekk=9=a%Wqp49c{!^{tPvDfNim<8Cea8Lc0_BWMU#>;_td#VhRm+6t66!-Hw8*I9vB;FV_&oLtFIu5&}Jq1?&hv zGPy!Dg6VVC5Q)k;34f(%Azx(HA3mH`l#1lOcTam5);ug|ZmFUu)9YFn7|_-Q58A@c zL|Z+ywFD2~1Na^M0d3;*9wq&k?6p!KeODBp_B83g&}nIb^k2C`DdKqwJ+o`Epshq*$O$kcea9(Kj{;MoGL@jLcveXjYYpw9`G}6x`f^gCPuF zjseasI7i&h^n_Av-l$OxDJVFp24M(ZM>Sd}6=i;CI4#RTo*zUDXl0P+gR-0+9-3E_ zlPyCdkoKX5T`+72_I{0`sxHxzFR5y=A1`ihE+P?IY&Z~$1%_knCR*413qiM#jwfpv zVKSZ;+%H7v6oL}Xp?0HLOZI2UkgNYEL?a2iU?g!gL^Fvgnx?MtpBKY5Lhr8VL1WNi6e?%EFGSCIm4z8OX@>B_SyC9^Sk4&Eij&g}`7m9>0)E zrQdGfc{hzJRfhQ7(hz4YmVR?g!v}n6f9!Ks+k;3xJ*<$nK-lcGb-*( zuP>t-nbH2uW>nhsX5VMjVuj@686pXU{kPj6nimVz>Q)TLR<&9X=RQglAOs3#l9O}v#MSqiEJdY!9Fw77JSRmxecOxN`z`Cfd}=Y3Qth^n z0*g!WkGdL;*<^B-5>xx$_#8G-CR6S{CQ@eea;ba3)Shb0=Z3>^K1U5k;OFT5 zS+^X&%@g|hlA&jM{{hg~V?O<%7HKuUJ`=FNj8lasLMx$nBxilrk%hc&>{-tAWx`pb z4BWbQ?JXslRNlIF?N&dIoE#G(HjCd;j$|iO6-koieUNt`%xSev)YU94A)uZGoD-x1tu!fqp{J@ z`B+Q{o*f=iCbw#}#eSCt#!~2e829m~D_;h_FP``k92P2tCqI09;_%pH zqkp5|2L~N^N6C?4S~6sG8S0E$P>rtWqZ-Bf;K2){@CcreF7pHC2|LVwu3L4$CxGuP z9M8P#jCph78_e)cfJ2#q8N}-*W)T-nY(ae2!~^)1Dx27f@^dEUVHo=ozo;yBlsIw5 zzzpK1iCM%I6I&4f$ixHq?G-k$73CLA%tIc2eRHF|-EQx|P1t}oY$LT{=at6p-p%$- zI5VxnE6{*l*h2-JKsy5jH-4CDLXrIT}rs0h4yMx}FXl6%`s16 ['onPluginsInitialized', 0], + 'onTwigTemplatePaths' => ['onTwigTemplatePaths', 0], + 'onPageInitialized' => ['onPageInitialized', 0], + 'onTwigSiteVariables' => ['onTwigSiteVariables', 0], + 'onBlueprintCreated' => ['onBlueprintCreated', 0], + ]; + } + + /** + * Initialize configuration + */ + public function onPluginsInitialized() + { + + // Add author to site taxonomies + $taxonomies = $this->config->get('site.taxonomies'); + $taxonomies[] = 'author'; + $this->config->set('site.taxonomies', $taxonomies); + + // Populate author list for use in blueprint + $authors = $this->grav['config']->get('plugins.aura-authors.authors'); + if ($authors) { + foreach ($authors as $author) { + if (!array_key_exists($author['label'], self::$authorList)) { + self::$authorList[$author['label']] = $author['name']; + } + } + } + asort(self::$authorList); + } + + + /** + * Extend page blueprints with additional configuration options. + * + * @param Event $event + */ + public function onBlueprintCreated(Event $event) + { + static $inEvent = false; + + /** @var Data\Blueprint $blueprint */ + $blueprint = $event['blueprint']; + if (!$inEvent && $blueprint->get('form/fields/tabs', null, '/')) { + $inEvent = true; + $blueprints = new Data\Blueprints(__DIR__ . '/blueprints/'); + $extends = $blueprints->get('aura-authors'); + $blueprint->extend($extends, true); + $inEvent = false; + } + } + + /** + * Add plugin directory to twig lookup paths + */ + public function onTwigTemplatePaths() + { + $this->grav['twig']->twig_paths[] = __DIR__ . '/templates'; + } + + /** + * Add author to page taxonomy + * + * @param Event $e + */ + public function onPageInitialized() + { + if ($this->isAdmin()) { + return; + } + $page = $this->grav['page']; + $header = $page->header(); + if ((isset($header->aura['author'])) && ($header->aura['author'] != '')) { + $taxonomy = $page->taxonomy(); + $taxonomy['author'][] = $header->aura['author']; + $page->taxonomy($taxonomy); + } + } + + /** + * Create structured authors array and expose to Twig + */ + public function onTwigSiteVariables() + { + $authors = array(); + $raw = $this->grav['config']->get('plugins.aura-authors.authors'); + if ($raw) { + foreach ($raw as $author) { + $authors[$author['label']] = $author; + } + } + $this->grav['twig']->twig_vars['authors'] = $authors; + } + + public static function listAuthors() { + return self::$authorList; + } + +} diff --git a/aura-authors.yaml b/aura-authors.yaml new file mode 100644 index 0000000..2a0ca0e --- /dev/null +++ b/aura-authors.yaml @@ -0,0 +1,2 @@ +enabled: true +include-css: true diff --git a/blueprints.yaml b/blueprints.yaml new file mode 100644 index 0000000..215f7ab --- /dev/null +++ b/blueprints.yaml @@ -0,0 +1,101 @@ +name: Aura Authors +version: 0.1.0 +description: Store author bios in a central repository for display on multiple pages. +icon: users +author: + name: Matt Mulhall + email: matt@theskylab.net + url: https://www.theskylab.net +homepage: https://github.com/matt-j-m/grav-plugin-aura-authors +keywords: author, bio, blog +bugs: https://github.com/matt-j-m/grav-plugin-aura-authors/issues +license: MIT + +form: + validation: strict + fields: + enabled: + type: toggle + label: PLUGIN_ADMIN.PLUGIN_STATUS + highlight: 1 + default: 0 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + include-css: + type: toggle + label: Include default CSS + highlight: 1 + default: 1 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + authors: + type: list + label: Author details + help: "Add or edit author details" + fields: + .name: + type: text + size: large + label: Name + validate: + required: true + .label: + type: text + size: large + label: Taxonomy Label + validate: + pattern: "[a-z][a-z0-9_\-]+" + message: "Use all lowercase letters and replace spaces with hyphens." + required: true + .image: + type: file + size: large + label: Image + multiple: false + destination: 'user/plugins/aura-authors/assets' + accept: + - image/* + .description: + type: textarea + size: long + label: Description + .facebook-url: + type: text + size: large + label: Facebook URL + placeholder: 'https://www.facebook.com/username' + .twitter-url: + type: text + size: large + label: Twitter URL + placeholder: 'https://twitter.com/username' + .instagram-url: + type: text + size: large + label: Instagram URL + placeholder: 'https://www.instagram.com/username' + .linkedin-url: + type: text + size: large + label: LinkedIn URL + placeholder: 'https://www.linkedin.com/in/name' + .pinterest-url: + type: text + size: large + label: Pinterest URL + placeholder: 'https://www.pinterest.com/user/username' + .youtube-url: + type: text + size: large + label: YouTube URL + placeholder: 'https://www.youtube.com/username' + .website-url: + type: text + label: Website URL + placeholder: 'https://www.example.com' diff --git a/blueprints/aura-authors.yaml b/blueprints/aura-authors.yaml new file mode 100644 index 0000000..1fb1e02 --- /dev/null +++ b/blueprints/aura-authors.yaml @@ -0,0 +1,17 @@ +form: + fields: + tabs: + fields: + aura: + type: tab + title: Aura + + fields: + + header.aura.author: + type: select + label: Author + size: medium + data-options@: '\Grav\Plugin\AuraAuthorsPlugin::listAuthors' + options: + '': '' diff --git a/templates/partials/author-bio.html.twig b/templates/partials/author-bio.html.twig new file mode 100644 index 0000000..7013341 --- /dev/null +++ b/templates/partials/author-bio.html.twig @@ -0,0 +1,44 @@ +{% set author = authors[page.header.aura.author] %} +{% if author %} + {% set social = [ + 'twitter', + 'linkedin', + 'youtube', + 'facebook', + 'instagram', + 'pinterest', + 'website', + ] %} +
+

About the author

+
+ {% if author.image %} + {% set path = 'user://plugins/aura-authors/assets/' ~ author.image|first.name %} + {{ media[path].html('', author.name, 'author-image') }} + {% endif %} +
+
+
+

{{ author.name }}

+
+
+
    + {% for item in social %} + {% set href = author[item ~ '-url'] %} + {% if href %} +
  • + {% endif %} + {% endfor %} +
+
+
+
+
+

{{ author.description }}

+
+
+
+ {% if config.plugins['aura-authors']['include-css'] %} + {% do assets.addCss('user://plugins/aura-authors/assets/style.min.css') %} + {% endif %} +{% endif %} \ No newline at end of file