From 64503fe12bf5addb9c0a4927dd7bc05666cdd83b Mon Sep 17 00:00:00 2001 From: Jonny Barnes Date: Sun, 20 Aug 2017 21:36:06 +0100 Subject: [PATCH] Improving POSSE compatability with bridgy Squashed commit of the following: commit d194133182d06ecff4b175c2b5614173ffd48e3a Author: Jonny Barnes Date: Sun Aug 20 21:35:32 2017 +0100 Updated css files commit e8a1c6d7a41b4fdf070842eb8c3a225faaf064ae Author: Jonny Barnes Date: Sun Aug 20 21:31:17 2017 +0100 Hide bridgy alternative text with CSS commit bcca21e5e1a0ddf41878fd4b31d35d89ced87d81 Author: Jonny Barnes Date: Sun Aug 20 21:22:19 2017 +0100 Add some basic tests commit b6c1f0d86c6e0ea6c722b3680788c4c951fa4442 Author: Jonny Barnes Date: Sun Aug 20 20:52:32 2017 +0100 Fix a typo commit 8056448bbb724729ef08e1ee11cbc4cf8e8d988c Author: Jonny Barnes Date: Sun Aug 20 17:12:15 2017 +0100 Convert markdown to html for p-bridgy-silo-content sections commit d42d67a5827bd73c74d89b559ecfcb6e1662c175 Author: Jonny Barnes Date: Sun Aug 20 17:02:47 2017 +0100 Add methods to provide twitter content or facebook content where usernames are swapped for usernames, so birdgy is given silo compatible content, not my h-card markup commit 402aa86a3d350d05c98aeac4a67cea3757ccf1bd Author: Jonny Barnes Date: Sat Aug 12 18:23:49 2017 +0100 Show silo content if we have made it --- app/Note.php | 112 +++++++++++++++++++++-- public/assets/css/app.css | 2 +- public/assets/css/app.css.br | Bin 3585 -> 3619 bytes public/assets/css/app.css.gz | Bin 3833 -> 3862 bytes public/assets/css/app.css.map | 2 +- resources/assets/sass/app.scss | 1 + resources/assets/sass/bridgy-links.scss | 6 ++ resources/views/templates/note.blade.php | 6 ++ tests/Feature/BridgyPosseTest.php | 27 ++++++ 9 files changed, 148 insertions(+), 8 deletions(-) create mode 100644 resources/assets/sass/bridgy-links.scss create mode 100644 tests/Feature/BridgyPosseTest.php diff --git a/app/Note.php b/app/Note.php index 390ee906..bf176a61 100644 --- a/app/Note.php +++ b/app/Note.php @@ -23,6 +23,13 @@ class Note extends Model use Searchable; use SoftDeletes; + /** + * The reges for matching lone usernames. + * + * @var string + */ + private const USERNAMES_REGEX = '/\[.*?\](*SKIP)(*F)|@(\w+)/'; + /** * The database table used by the model. * @@ -132,12 +139,9 @@ class Note extends Model */ public function getNoteAttribute($value) { - $environment = Environment::createCommonMarkEnvironment(); - $environment->addExtension(new LinkifyExtension()); - $converter = new Converter(new DocParser($environment), new HtmlRenderer($environment)); $emoji = new EmojiModifier(); - $html = $converter->convertToHtml($value); + $html = $this->convertMarkdown($value); $hcards = $this->makeHCards($html); $hashtags = $this->autoLinkHashtag($hcards); $modified = $emoji->makeEmojiAccessible($hashtags); @@ -288,6 +292,94 @@ class Note extends Model return $oEmbed; } + /** + * Show a specific form of the note for twitter. + * + */ + public function getTwitterContentAttribute() + { + // find @mentions + preg_match_all(self::USERNAMES_REGEX, $this->getOriginal('note'), $matches); + if (count($matches[1]) === 0) { + return; + } + + // check if any @mentions have a contact associated with them + $count = 0; + foreach ($matches[1] as $match) { + $contact = Contact::where('nick', '=', mb_strtolower($match))->first(); + if ($contact) { + $count++; + } + } + if ($count === 0) { + return; + } + + // swap in twitter usernames + $swapped = preg_replace_callback( + self::USERNAMES_REGEX, + function ($matches) { + try { + $contact = Contact::where('nick', '=', mb_strtolower($matches[1]))->firstOrFail(); + } catch (ModelNotFoundException $e) { + //assume its an actual twitter handle + return $matches[0]; + } + if ($contact->twitter) { + return '@' . $contact->twitter; + } + + return $contact->name; + }, + $this->getOriginal('note') + ); + + return $this->convertMarkdown($swapped); + } + + public function getFacebookContentAttribute() + { + // find @mentions + preg_match_all(self::USERNAMES_REGEX, $this->getOriginal('note'), $matches); + if (count($matches[1]) === 0) { + return; + } + + // check if any @mentions have a contact associated with them + $count = 0; + foreach ($matches[1] as $match) { + $contact = Contact::where('nick', '=', mb_strtolower($match))->first(); + if ($contact) { + $count++; + } + } + if ($count === 0) { + return; + } + + // swap in facebook usernames + $swapped = preg_replace_callback( + self::USERNAMES_REGEX, + function ($matches) { + try { + $contact = Contact::where('nick', '=', mb_strtolower($matches[1]))->firstOrFail(); + } catch (ModelNotFoundException $e) { + //assume its an actual twitter handle + return $matches[0]; + } + if ($contact->facebook) { + return '' . $contact->name . ''; + } + + return $contact->name; + }, + $this->getOriginal('note') + ); + + return $this->convertMarkdown($swapped); + } + /** * Scope a query to select a note via a NewBase60 id. * @@ -313,9 +405,8 @@ class Note extends Model */ private function makeHCards($text) { - $regex = '/\[.*?\](*SKIP)(*F)|@(\w+)/'; //match @alice but not [@bob](...) $hcards = preg_replace_callback( - $regex, + self::USERNAMES_REGEX, function ($matches) { try { $contact = Contact::where('nick', '=', mb_strtolower($matches[1]))->firstOrFail(); @@ -372,6 +463,15 @@ class Note extends Model return $text; } + private function convertMarkdown($text) + { + $environment = Environment::createCommonMarkEnvironment(); + $environment->addExtension(new LinkifyExtension()); + $converter = new Converter(new DocParser($environment), new HtmlRenderer($environment)); + + return $converter->convertToHtml($text); + } + /** * Do a reverse geocode lookup of a `lat,lng` value. * diff --git a/public/assets/css/app.css b/public/assets/css/app.css index 3338cf26..11b79031 100644 --- a/public/assets/css/app.css +++ b/public/assets/css/app.css @@ -1,2 +1,2 @@ -html{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:24px}*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit}body{max-width:25em;margin:0 auto;padding-left:5px;padding-right:5px;word-wrap:break-word}#topheader{text-align:center}.h-entry{padding-top:1rem}.note{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.note-metadata{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:0.75em}.note img{max-height:80vh;width:auto;max-width:100%;image-orientation:from-image}.social-links{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.social-links svg{padding-left:3px}.mini-h-card{position:relative}.mini-h-card .p-name{position:relative;z-index:100}.mini-h-card .hovercard{display:none}.mini-h-card:hover .hovercard{display:inline;background-color:white;border:solid 1px grey;position:absolute;min-width:300px;left:-10px;top:-10px;z-index:50;padding:2rem 3rem 10px 10px}.hovercard .u-photo{position:absolute;top:10px;right:10px;width:3rem;height:auto;padding-bottom:10px}.hovercard .social-icon{height:0.8rem}.hovercard a::before{content:"\A";white-space:pre}body>.h-card{margin-top:5px;border-top:1px solid grey}footer{margin-top:1rem}footer button{margin-left:5px}.u-comment{margin-top:1em;padding:0 1em;font-size:0.75rem}.u-comment.h-cite img{height:0.75rem}.u-comment .e-content{margin-top:0.5em;font-size:1rem}.container{position:relative;width:100%;height:0;padding-bottom:56.25%}.youtube{position:absolute;top:0;left:0;width:100%;height:100%}body{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}a{text-decoration:none;border-bottom:1px solid;color:blue}.social-links a{border-bottom:none}.icon{height:1em;width:auto}footer{font-size:0.5rem;text-align:center}footer p>a{border-bottom:none}.iwc-logo{width:100px;height:auto}.pagination{width:100%;height:3rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.pagination li{list-style-type:none}.note-ui{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media (min-width: 600px){.note-ui>div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding:0.2rem}input[type="file"]{width:5vw}}@media (max-width: 599px){input[type="file"]{width:100%}textarea,input[type="text"]{width:100%}}.note-ui label{width:5em;margin-right:0.5rem;text-align:right}.note-ui input:not([type=submit]),.note-ui textarea{-webkit-box-flex:1;-ms-flex:1;flex:1}.note-ui textarea{padding:0.1rem 0.3rem}#locate{margin-right:0.4rem}.mp-media li{list-style-type:none}.mp-media img{height:4em;width:4em}.map{margin-top:4px;height:200px}.mapboxgl-ctrl-logo{border-bottom:none}.marker{background-image:url(data:image/png;base64,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);background-size:contain;width:20px;height:20px}.map-menu{position:absolute;top:0;left:0;background:white;padding:0.4rem}.map-menu label{margin-left:3px;margin-right:3px}.contact{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;margin-top:1em;border-bottom:1px dashed grey}.contact img{margin-right:0.2rem;width:100px;height:100px}span[role=img][aria-label],span[role=img][aria-label]{position:relative}span[role=img][aria-label]:focus::after,span[role=img][aria-label]:hover::after{position:absolute;display:block;z-index:1;bottom:1.5em;left:0;max-width:5em;padding:0.5em 0.75em;border:0.05em solid #fff;border-radius:0.2em;-webkit-box-shadow:0.15em 0.15em 0.5em #000;box-shadow:0.15em 0.15em 0.5em #000;content:attr(aria-label);background-color:rgba(0,0,0,0.85);color:#fff;font-size:80%;-webkit-animation:TOOLTIP 0.1s ease-out 1;animation:TOOLTIP 0.1s ease-out 1}@-webkit-keyframes TOOLTIP{from{bottom:0.5em;background-color:transparent;border:0.05em solid rgba(255,255,255,0);color:rgba(255,255,255,0);-webkit-box-shadow:0 0 0 #000;box-shadow:0 0 0 #000}to{bottom:1.5em;background-color:rgba(0,0,0,0.85);border:0.05em solid #fff;color:#fff;-webkit-box-shadow:0.15em 0.15em 0.5em #000;box-shadow:0.15em 0.15em 0.5em #000}}@keyframes TOOLTIP{from{bottom:0.5em;background-color:transparent;border:0.05em solid rgba(255,255,255,0);color:rgba(255,255,255,0);-webkit-box-shadow:0 0 0 #000;box-shadow:0 0 0 #000}to{bottom:1.5em;background-color:rgba(0,0,0,0.85);border:0.05em solid #fff;color:#fff;-webkit-box-shadow:0.15em 0.15em 0.5em #000;box-shadow:0.15em 0.15em 0.5em #000}}@media print{span[role=img][aria-label]::after{content:" (" attr(aria-label) ") "}} +html{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:24px}*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit}body{max-width:25em;margin:0 auto;padding-left:5px;padding-right:5px;word-wrap:break-word}#topheader{text-align:center}.h-entry{padding-top:1rem}.note{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.note-metadata{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:0.75em}.note img{max-height:80vh;width:auto;max-width:100%;image-orientation:from-image}.social-links{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.social-links svg{padding-left:3px}.mini-h-card{position:relative}.mini-h-card .p-name{position:relative;z-index:100}.mini-h-card .hovercard{display:none}.mini-h-card:hover .hovercard{display:inline;background-color:white;border:solid 1px grey;position:absolute;min-width:300px;left:-10px;top:-10px;z-index:50;padding:2rem 3rem 10px 10px}.hovercard .u-photo{position:absolute;top:10px;right:10px;width:3rem;height:auto;padding-bottom:10px}.hovercard .social-icon{height:0.8rem}.hovercard a::before{content:"\A";white-space:pre}body>.h-card{margin-top:5px;border-top:1px solid grey}footer{margin-top:1rem}footer button{margin-left:5px}.u-comment{margin-top:1em;padding:0 1em;font-size:0.75rem}.u-comment.h-cite img{height:0.75rem}.u-comment .e-content{margin-top:0.5em;font-size:1rem}.container{position:relative;width:100%;height:0;padding-bottom:56.25%}.youtube{position:absolute;top:0;left:0;width:100%;height:100%}body{font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}a{text-decoration:none;border-bottom:1px solid;color:blue}.social-links a{border-bottom:none}.icon{height:1em;width:auto}footer{font-size:0.5rem;text-align:center}footer p>a{border-bottom:none}.iwc-logo{width:100px;height:auto}.pagination{width:100%;height:3rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.pagination li{list-style-type:none}.note-ui{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media (min-width: 600px){.note-ui>div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding:0.2rem}input[type="file"]{width:5vw}}@media (max-width: 599px){input[type="file"]{width:100%}textarea,input[type="text"]{width:100%}}.note-ui label{width:5em;margin-right:0.5rem;text-align:right}.note-ui input:not([type=submit]),.note-ui textarea{-webkit-box-flex:1;-ms-flex:1;flex:1}.note-ui textarea{padding:0.1rem 0.3rem}#locate{margin-right:0.4rem}.mp-media li{list-style-type:none}.mp-media img{height:4em;width:4em}.map{margin-top:4px;height:200px}.mapboxgl-ctrl-logo{border-bottom:none}.marker{background-image:url(data:image/png;base64,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);background-size:contain;width:20px;height:20px}.map-menu{position:absolute;top:0;left:0;background:white;padding:0.4rem}.map-menu label{margin-left:3px;margin-right:3px}.contact{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;margin-top:1em;border-bottom:1px dashed grey}.contact img{margin-right:0.2rem;width:100px;height:100px}span[role=img][aria-label],span[role=img][aria-label]{position:relative}span[role=img][aria-label]:focus::after,span[role=img][aria-label]:hover::after{position:absolute;display:block;z-index:1;bottom:1.5em;left:0;max-width:5em;padding:0.5em 0.75em;border:0.05em solid #fff;border-radius:0.2em;-webkit-box-shadow:0.15em 0.15em 0.5em #000;box-shadow:0.15em 0.15em 0.5em #000;content:attr(aria-label);background-color:rgba(0,0,0,0.85);color:#fff;font-size:80%;-webkit-animation:TOOLTIP 0.1s ease-out 1;animation:TOOLTIP 0.1s ease-out 1}@-webkit-keyframes TOOLTIP{from{bottom:0.5em;background-color:transparent;border:0.05em solid rgba(255,255,255,0);color:rgba(255,255,255,0);-webkit-box-shadow:0 0 0 #000;box-shadow:0 0 0 #000}to{bottom:1.5em;background-color:rgba(0,0,0,0.85);border:0.05em solid #fff;color:#fff;-webkit-box-shadow:0.15em 0.15em 0.5em #000;box-shadow:0.15em 0.15em 0.5em #000}}@keyframes TOOLTIP{from{bottom:0.5em;background-color:transparent;border:0.05em solid rgba(255,255,255,0);color:rgba(255,255,255,0);-webkit-box-shadow:0 0 0 #000;box-shadow:0 0 0 #000}to{bottom:1.5em;background-color:rgba(0,0,0,0.85);border:0.05em solid #fff;color:#fff;-webkit-box-shadow:0.15em 0.15em 0.5em #000;box-shadow:0.15em 0.15em 0.5em #000}}@media print{span[role=img][aria-label]::after{content:" (" attr(aria-label) ") "}}.p-bridgy-twitter-content,.p-bridgy-facebook-content{display:none} /*# sourceMappingURL=app.css.map */ \ No newline at end of file diff --git a/public/assets/css/app.css.br b/public/assets/css/app.css.br index 85dc7a81544cd03052fcddd327fd5ffd791c9bfe..e69ad138caca4916d995ed3260b26d4d2fca6ad4 100644 GIT binary patch literal 3619 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 literal 3585 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 VyNJV>JdlyD=p%-Qpio{U001^Bc|iaG delta 2738 zcmV;j3QhHv9{C-xWCVW>tS}k?-~+Jc-8BjWgAcB!-}i2@_O<=B^*@Vzt0>|h zZ3JxZLUg&FxIZjEY{ansQ<;B*pz@sgC-ZqTP#gCbZt;HP{+V|L5yJJ~5uX4xPX7Me zfoZr0;*rrLQ~j(uIAds}T}FDl|F z7Wy`op{qVktht1`)b{Q>SU8Vs?j@1?D zUt>^hd|kk(reJ_alN5(B>}+Q~rk`W=x9Bcjm{6ak_#vVz8K|(o(@GeuCQ%)yvv{)- z?-1Dzkvq+NDbymKy$uV_rh#~ABnV=G94-AJ7|ef~FIIhS5HI+Vxa`kn{Mv(cYkWZ< z{(kAwZ|{#;>1%HZQO370>WK5MOcCA*)fC{a=?HeR{{k@=%RuR_N9$+97@>9S1lu0M%ZHc<)#A;sp6}a0@ zUuS=is(`ywzY3rn0d%0|xldy~di9_0=4qW+Vl7r5CFHn@R+4KHpw{m|^k@3T`QgkW z?_&fNNRHzcre!G><>;?o&E&Y&6o}gJ9>;oWIQ-4?)Q(Rq)XrkK$SgBIOWTxSa`|$A zXsbb3m&p91K?*yxszTW7RbNkEvbtfHG$elmTos3FDq`DHQ}!ghG}N$wVkG>jZY)3DL~&NKw0$N3EZ6f^u!-pAx23r}p!e3%8f7a6b$UP%nJ+rp z!ayx419dLD=rI0TWS7QCNx1l(xZgm(I-y#ku;9vK!iJP*5K0`tmj|D?w}5|;xP)hl z%wahwS4ZFGB33eq$PGS#kaA-txJG2y=Iv{;fH3o~#8p>)lxq z7%$?Jj^i?dV1>pdV~1-sd}&@NDOjy(9R(MYtfz)fWcM`gol%-XU2a?#w1;8HML})?INax;mN$=a;`|40?Qwj{m$GDwlYS_&tP0` zL81#6;H~x*a^0R?0fP6r&c4mJ8bbpW7*WY}f5k=Ty=*C3pH%%a`!dIT!fffhcfad zi<%e7?}}hX9irMk*~n|6+Jlv>`*HJDpKLX|Dt_VYcmC~#==$&!9|N!IG-YKKFimj$ zT&Etz1rLTz1&!}e?kYUo^c+8#30%?3%JDeC4$Lo3Sx**lp0X40gxRLrPZ6@Tq2gv5 zUAqL^#vpUYGOvFgkX8dVs${5+V}wjAlGICff*YH>QwR}*SYeN2xObkhYZ4KE&CzJ& zRDLlLJ&SlfM|b{1@un1tOStE^6qbeC#gkvl&C?0-<|QT^9Akag<9>BozPlv9&uHR_ zb&wID-s7pP7s^DDSQTSj4u|Cih>i_XCIQ}9TAoMKt^$9>Te%c?3yHE&Epx-=SdM%AC&CG9_R~IPKW|FV?r(O9lAu@^X7LDXJn;f)v zZaP7;dlZ0=F^GN<52|!ML8mo<?Dgfj<196BB#Ay#Zsl*hO;B=FO=rqi zI#h_lH&B1L)~{oT;icSpeW$*I#%QLtc-r&bz^~ae1(r?(xt5K%COA^JCuUGMhg!v~ z2E27%%=##Y598b+L2~@fGMK$Po?cI8yv>X^w!?#m1i2+BMCvLK6+-@=s(D_xZbw+| ze3Crg9=&dcYy4MxX0;w63`F7kK1J&8?sijmcN~A#7pe2^oopr_4t2*RHYe!$wRt-1 z?jLOKtPU?8FE3BG`-lazG0}LQL^A0!BM0y|pLzu)C(Bay%0&i(#s#_(UP0)%a9bW} zPtbRP189j$_BVF4Li`|VLd$}sD+nuiJc#nVXweXxjQYWB#|2ZgbZV9h$~0s>KNUc;1zKD#{U3%9&8hl4Bv;PAQb}FiaP7Mer^V!Jf){=xvfqLeU4mU_57U*w0>Q z62j0Y3JS;iU=P7hqpGT0X;Y95$D;Z{;sBA?1-X1fJu_AsuIRF{udi?NIcc~hE!ei% z=4sF#Wqzh63T=H|bOZo4+>X?Nw$#UY#=w8W=WP^9Mv>8rz0J+Fz2z-hzeN#5Y*~{p2T$+!z6!vI{+IV7NrqRN3EIn})3($+GBch;;Nm0m^})7aSx200ZP(0ssI2 diff --git a/public/assets/css/app.css.map b/public/assets/css/app.css.map index 0572aa1f..79d8afd4 100644 --- a/public/assets/css/app.css.map +++ b/public/assets/css/app.css.map @@ -1 +1 @@ -{"version":3,"sources":["../../../resources/assets/sass/app.scss","../../../resources/assets/sass/layout.scss","../../../resources/assets/sass/styles.scss","../../../resources/assets/sass/pagination.scss","../../../resources/assets/sass/note-form.scss","../../../resources/assets/sass/mapbox.scss","../../../resources/assets/sass/contacts.scss","../../../resources/assets/sass/emoji.scss"],"names":[],"mappings":"AAIA,KACI,8BACA,AADA,sBACA,cAAe,CAClB,qBAKG,2BAAmB,AAAnB,kBAAmB,CACtB,KCVG,eACA,cACA,iBACA,kBACA,oBAAqB,CACxB,WAGG,iBAAkB,CACrB,SAGG,gBAAiB,CACpB,MAGG,oBACA,AADA,oBACA,AADA,aACA,4BAAsB,AAAtB,6BAAsB,AAAtB,0BAAsB,AAAtB,qBAAsB,CACzB,eAGG,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,yBACA,AADA,sBACA,AADA,8BACA,gBAAiB,CACpB,UAGG,gBACA,WACA,eACA,4BAA6B,CAChC,cAGG,oBACA,AADA,oBACA,AADA,aACA,yBAAmB,AAAnB,sBAAmB,AAAnB,kBAAmB,CACtB,kBAGG,gBAAiB,CACpB,aAGG,iBAAkB,CACrB,qBAGG,kBACA,WAAY,CACf,wBAGG,YAAa,CAChB,8BAGG,eACA,uBACA,sBACA,kBACA,gBACA,WACA,UACA,WACA,2BAA4B,CAC/B,oBAGG,kBACA,SACA,WACA,WACA,YACA,mBAAoB,CACvB,wBAGG,aAAc,CACjB,qBAGG,aACA,eAAgB,CACnB,aAGG,eACA,yBAA0B,CAC7B,OAGG,eAAgB,CACnB,cAGG,eAAgB,CACnB,WAGG,eACA,cACA,iBAAkB,CACrB,sBAGG,cAAe,CAClB,sBAGG,iBACA,cAAe,CAClB,WAGG,kBACA,WACA,SACA,qBAAsB,CACzB,SAGG,kBACA,MACA,OACA,WACA,WAAY,CACf,KC9HG,6JAWc,CACjB,EAGG,qBACA,wBACA,UAAW,CACd,gBAGG,kBAAmB,CACtB,MAGG,WACA,UAAW,CACd,OAGG,iBACA,iBAAkB,CACrB,WAGG,kBAAmB,CACtB,UAGG,YACA,WAAY,CACf,YC1CG,WACA,YACA,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,yBACA,AADA,sBACA,AADA,8BACA,yBAAmB,AAAnB,sBAAmB,AAAnB,kBAAmB,CACtB,eAGG,oBAAqB,CACxB,SCVG,oBACA,AADA,oBACA,AADA,aACA,4BAAsB,AAAtB,6BAAsB,AAAtB,0BAAsB,AAAtB,qBAAsB,CACzB,0BAGG,aACI,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,cAAe,CAClB,mBAGG,SAAU,CACb,CAGL,0BACI,mBACI,UAAW,CACd,4BAIG,UAAW,CACd,CAGL,eACI,UACA,oBACA,gBAAiB,CACpB,oDAIG,mBAAO,AAAP,WAAO,AAAP,MAAO,CACV,kBAGG,qBAAsB,CACzB,QAGG,mBAAoB,CACvB,aAGG,oBAAqB,CACxB,cAGG,WACA,SAAU,CACb,KCrDG,eACA,YAAa,CAChB,oBAGG,kBAAmB,CACtB,QAGG,y4HACA,wBACA,WACA,WAAY,CACf,UAGG,kBACA,MACA,OACA,iBACA,cAAe,CAClB,gBAGG,gBACA,gBAAiB,CACpB,SC1BG,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,eACA,6BAA8B,CACjC,aAGG,oBACA,YACA,YAAa,CAChB,sDCPG,iBAAkB,CACrB,gFAIG,kBACA,cACA,UACA,aACA,OACA,cACA,qBACA,yBACA,oBACA,4CACA,AADA,oCACA,yBACA,kCACA,WACA,cACA,0CAAkC,AAAlC,iCAAkC,CACrC,2BAGG,KACI,aACA,6BACA,wCACA,0BACA,8BAAkC,AAAlC,qBAAkC,CAGtC,GACI,aACA,kCACA,yBACA,WACA,4CAAgD,AAAhD,mCAAgD,CAAA,CAIxD,AApBC,mBAGG,KACI,aACA,6BACA,wCACA,0BACA,8BAAkC,AAAlC,qBAAkC,CAGtC,GACI,aACA,kCACA,yBACA,WACA,4CAAgD,AAAhD,mCAAgD,CAAA,CAIxD,aACI,kCACI,kCAAmC,CACtC,CAAA","file":"app.css"} \ No newline at end of file +{"version":3,"sources":["../../../resources/assets/sass/app.scss","../../../resources/assets/sass/layout.scss","../../../resources/assets/sass/styles.scss","../../../resources/assets/sass/pagination.scss","../../../resources/assets/sass/note-form.scss","../../../resources/assets/sass/mapbox.scss","../../../resources/assets/sass/contacts.scss","../../../resources/assets/sass/emoji.scss","../../../resources/assets/sass/bridgy-links.scss"],"names":[],"mappings":"AAIA,KACI,8BACA,AADA,sBACA,cAAe,CAClB,qBAKG,2BAAmB,AAAnB,kBAAmB,CACtB,KCVG,eACA,cACA,iBACA,kBACA,oBAAqB,CACxB,WAGG,iBAAkB,CACrB,SAGG,gBAAiB,CACpB,MAGG,oBACA,AADA,oBACA,AADA,aACA,4BAAsB,AAAtB,6BAAsB,AAAtB,0BAAsB,AAAtB,qBAAsB,CACzB,eAGG,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,yBACA,AADA,sBACA,AADA,8BACA,gBAAiB,CACpB,UAGG,gBACA,WACA,eACA,4BAA6B,CAChC,cAGG,oBACA,AADA,oBACA,AADA,aACA,yBAAmB,AAAnB,sBAAmB,AAAnB,kBAAmB,CACtB,kBAGG,gBAAiB,CACpB,aAGG,iBAAkB,CACrB,qBAGG,kBACA,WAAY,CACf,wBAGG,YAAa,CAChB,8BAGG,eACA,uBACA,sBACA,kBACA,gBACA,WACA,UACA,WACA,2BAA4B,CAC/B,oBAGG,kBACA,SACA,WACA,WACA,YACA,mBAAoB,CACvB,wBAGG,aAAc,CACjB,qBAGG,aACA,eAAgB,CACnB,aAGG,eACA,yBAA0B,CAC7B,OAGG,eAAgB,CACnB,cAGG,eAAgB,CACnB,WAGG,eACA,cACA,iBAAkB,CACrB,sBAGG,cAAe,CAClB,sBAGG,iBACA,cAAe,CAClB,WAGG,kBACA,WACA,SACA,qBAAsB,CACzB,SAGG,kBACA,MACA,OACA,WACA,WAAY,CACf,KC9HG,6JAWc,CACjB,EAGG,qBACA,wBACA,UAAW,CACd,gBAGG,kBAAmB,CACtB,MAGG,WACA,UAAW,CACd,OAGG,iBACA,iBAAkB,CACrB,WAGG,kBAAmB,CACtB,UAGG,YACA,WAAY,CACf,YC1CG,WACA,YACA,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,yBACA,AADA,sBACA,AADA,8BACA,yBAAmB,AAAnB,sBAAmB,AAAnB,kBAAmB,CACtB,eAGG,oBAAqB,CACxB,SCVG,oBACA,AADA,oBACA,AADA,aACA,4BAAsB,AAAtB,6BAAsB,AAAtB,0BAAsB,AAAtB,qBAAsB,CACzB,0BAGG,aACI,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,cAAe,CAClB,mBAGG,SAAU,CACb,CAGL,0BACI,mBACI,UAAW,CACd,4BAIG,UAAW,CACd,CAGL,eACI,UACA,oBACA,gBAAiB,CACpB,oDAIG,mBAAO,AAAP,WAAO,AAAP,MAAO,CACV,kBAGG,qBAAsB,CACzB,QAGG,mBAAoB,CACvB,aAGG,oBAAqB,CACxB,cAGG,WACA,SAAU,CACb,KCrDG,eACA,YAAa,CAChB,oBAGG,kBAAmB,CACtB,QAGG,y4HACA,wBACA,WACA,WAAY,CACf,UAGG,kBACA,MACA,OACA,iBACA,cAAe,CAClB,gBAGG,gBACA,gBAAiB,CACpB,SC1BG,oBACA,AADA,oBACA,AADA,aACA,8BACA,AADA,6BACA,AADA,uBACA,AADA,mBACA,eACA,6BAA8B,CACjC,aAGG,oBACA,YACA,YAAa,CAChB,sDCPG,iBAAkB,CACrB,gFAIG,kBACA,cACA,UACA,aACA,OACA,cACA,qBACA,yBACA,oBACA,4CACA,AADA,oCACA,yBACA,kCACA,WACA,cACA,0CAAkC,AAAlC,iCAAkC,CACrC,2BAGG,KACI,aACA,6BACA,wCACA,0BACA,8BAAkC,AAAlC,qBAAkC,CAGtC,GACI,aACA,kCACA,yBACA,WACA,4CAAgD,AAAhD,mCAAgD,CAAA,CAIxD,AApBC,mBAGG,KACI,aACA,6BACA,wCACA,0BACA,8BAAkC,AAAlC,qBAAkC,CAGtC,GACI,aACA,kCACA,yBACA,WACA,4CAAgD,AAAhD,mCAAgD,CAAA,CAIxD,aACI,kCACI,kCAAmC,CACtC,CC/CL,qDAEI,YAAa,CAChB","file":"app.css"} \ No newline at end of file diff --git a/resources/assets/sass/app.scss b/resources/assets/sass/app.scss index 0be5fef8..bcd461f9 100644 --- a/resources/assets/sass/app.scss +++ b/resources/assets/sass/app.scss @@ -20,3 +20,4 @@ html { @import "mapbox"; @import "contacts"; @import "emoji"; +@import "bridgy-links"; diff --git a/resources/assets/sass/bridgy-links.scss b/resources/assets/sass/bridgy-links.scss new file mode 100644 index 00000000..edb925d2 --- /dev/null +++ b/resources/assets/sass/bridgy-links.scss @@ -0,0 +1,6 @@ +// bridgy-links.scss + +.p-bridgy-twitter-content, +.p-bridgy-facebook-content { + display: none; +} diff --git a/resources/views/templates/note.blade.php b/resources/views/templates/note.blade.php index dc6a3350..61c20c2d 100644 --- a/resources/views/templates/note.blade.php +++ b/resources/views/templates/note.blade.php @@ -15,6 +15,12 @@ @if($media->type == 'download')

Download the attached media

@endif @endforeach + @if($note->twitter_content)
+ {!! $note->twitter_content !!} +
@endif + @if($note->facebook_content)
+ {!! $note->facebook_content !!} +
@endif