trying to fix
This commit is contained in:
parent
fa407dfeb6
commit
e013d7569e
22945 changed files with 447936 additions and 0 deletions
|
@ -0,0 +1,3 @@
|
|||
<img src="https://media.babylonbee.com/thumbs/article-10026-1-thumb.jpg"> <p>CHICAGO, IL—In a bombshell statement during his court case today, Jussie Smollett declared he can no longer be tried as he was murdered by racists while walking home last night and is now dead. </p>
|
||||
<p>The post <a rel="nofollow" href="https://babylonbee.com/news/jussie-smollett-claims-he-cant-be-tried-because-last-night-while-walking-home-he-was-murdered">Jussie Smollett Claims He Can’t Be Tried Because Last Night While Walking Home He Was Murdered</a> appeared first on <a rel="nofollow" href="https://babylonbee.com">The Babylon Bee</a>.</p>
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<p><iframe loading="lazy" title="Destination Linux EP14 - Joe Ressington of Late Night Linux" width="800" height="450" src="https://www.youtube.com/embed/Ukd-D3ks2so?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
|
||||
<p>Welcome to Destination Linux Episode 14 with Joe Ressington for 03-31-17</p>
|
||||
<p>Thank you Joe for taking the time to join us. Be sure to check out the <a href="https://latenightlinux.com/category/podcast/">Late Night Linux podcast</a> and you can find Joe on <a href="https://twitter.com/JoeRessington">Twitter</a>, <a href="http://latenightlinux.com/">LNL</a> or <a href="https://joeress.com/">Joe’s blog</a></p>
|
||||
<p>Thanks for Watching</p>
|
||||
<p> </p>
|
|
@ -0,0 +1 @@
|
|||
<p><img src="https://thumbnails.lbry.com/MWPiScadTVA" width="480" alt="thumbnail" title="Forking Software Isn't Always A Solution" /></p>Forking an application is one of the amazing benefits of using FOSS and while a lot of applications can certainly be managed there's a lot of other applications which while you can fork it actually maintaining that fork is completely unreasonable.<br /><br />==========Support The Channel==========<br />► $100 Linode Credit: https://linode.gvw92c.net/BrodieRobertson<br />► Patreon: https://www.patreon.com/brodierobertson<br />► Paypal: https://www.paypal.me/BrodieRobertsonVideo<br />► Amazon USA: https://amzn.to/3d5gykF<br />► Other Methods: https://cointr.ee/brodierobertson<br /><br />=========Video Platforms==========<br />🎥 Odysee: https://odysee.com/@BrodieRobertson:5<br />📺 BitChute: https://www.bitchute.com/channel/brodierobertson/<br />🎥 Podcast: https://www.youtube.com/c/TechOverTea<br />🎮 Gaming Channel: https://www.youtube.com/channel/UCzoHGpA2AvO2Vo3WUwb7Seg<br /><br />==========Social Media==========<br />🎤 Discord: https://discord.gg/dSUzd83kPJ<br />🎤 Matrix Space: https://matrix.to/#/!NksFZsrpwHOSiauqhJ:matrix.org<br />🐦 Twitter: https://twitter.com/BrodieOnLinux<br />🌐 Mastodon: https://linuxrocks.online/@BrodieOnLinux<br />✉️ Telegram: https://t.me/BrodieRobertson<br />🖥️ GitHub: https://github.com/BrodieRobertson<br /><br />==========Credits==========<br />🎨 Channel Art:<br />All my art has was created by Supercozman<br />https://twitter.com/Supercozman<br />https://www.instagram.com/supercozman_draws/<br /><br />#Linux #FOSS #OpenSource #FreeSoftware<br /><br />🎵 Ending music<br />Music from https://filmmusic.io<br />"Basic Implosion" by Kevin MacLeod (https://incompetech.com)<br />License: CC BY (http://creativecommons.org/licenses/by/4.0/)<br /><br />DISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase I may receive a small commission or other compensation.<br />...<br />https://www.youtube.com/watch?v=MWPiScadTVA
|
|
@ -0,0 +1 @@
|
|||
Darren and the crew discuss in the Container classic movies and directors that changed the film industry.
|
|
@ -0,0 +1 @@
|
|||
<p>Megyn Kelly is joined by Senator Rand Paul, Miranda Devine, New York Post columnist and author of "Laptop From Hell," Dr. Jay Bhattacharya, Professor of Health Policy, Stanford University, and Dr. David Dowdy, Infectious Disease Epidemiologist, Johns Hopkins Bloomberg School of Public Health, to talk about Dr. Fauci's latest political statements, CNN suspending Chris Cuomo, Hunter Biden's laptop and President Bien's involvement with China, why we shouldn't panic about the Omicron variant, why America should have put more effort into therapeutic development, the effectiveness of masks on adults and kids, whether vaccine immunity or natural immunity is stronger, COVID boosters, Fauci's conflict of interest, and more.</p><p>Follow The Megyn Kelly Show on all social platforms:</p><p> </p><p>YouTube: <a href="https://www.youtube.com/MegynKelly">https://www.youtube.com/MegynKelly</a></p><p>Twitter: <a href="http://twitter.com/MegynKellyShow">http://Twitter.com/MegynKellyShow</a></p><p>Instagram: <a href="http://instagram.com/MegynKellyShow">http://Instagram.com/MegynKellyShow</a></p><p>Facebook: <a href="http://facebook.com/MegynKellyShow">http://Facebook.com/MegynKellyShow</a></p><p> </p><p>Find out more information at:</p><p> </p><p><a href="https://www.devilmaycaremedia.com/megynkellyshow">https://www.devilmaycaremedia.com/megynkellyshow</a></p><p> </p>
|
|
@ -0,0 +1 @@
|
|||
<!-- SC_OFF --><div class="md"><p>Starting to take over maintenance on command-log-mode. Point your package manager to this repo, <code>clm-toggle</code> and done.</p> <p><a href="https://github.com/positron-solutions/command-log-mode">https://github.com/positron-solutions/command-log-mode</a></p> <p>Using this package to stream is a little easier to read and especially more helpful if you were just casting keys. <strong>Command names make it very easy to figure out where to go hack.</strong> You can't always <code>C-h k</code> when you're dealing with the minibuffer or some weird modal package or using a command dispatcher like ivy or transient.</p> <p>Seeing the stream of function names is so helpful to get oriented faster. You might be questioning if the default org map overrides arrows (it does). Running with the log open quickly illuminates how your bindings and modes are all wired.</p> <p>Open issues or PR's to add more commands! I was going to add a minibuffer toggle and a way to pause logging (to preserve the mode state while hiding and stopping logging). Out of time tonight but I'll get around to anything nobody beats me to.</p> <p>The existing implementation was using global hooks instead of setting up hooks in the mode. It's more on the road to being a well behaved package now.</p> <p>Not on Melpa yet since I probably need to file an issue to take over the recipe.</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/Psionikus"> /u/Psionikus </a> <br/> <span><a href="https://www.reddit.com/r/emacs/comments/q7g7qt/need_live_lossage_for_your_emacs_conf/">[link]</a></span>   <span><a href="https://www.reddit.com/r/emacs/comments/q7g7qt/need_live_lossage_for_your_emacs_conf/">[comments]</a></span>
|
|
@ -0,0 +1 @@
|
|||
<!-- SC_OFF --><div class="md"><p>Mine is currently 8 days and running. is there any specific tips to avoid for preventing crashes ?</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/pspiagicw"> /u/pspiagicw </a> <br/> <span><a href="https://www.reddit.com/r/emacs/comments/q7wfjo/whats_your_longest_uptime_for_emacs/">[link]</a></span>   <span><a href="https://www.reddit.com/r/emacs/comments/q7wfjo/whats_your_longest_uptime_for_emacs/">[comments]</a></span>
|
|
@ -0,0 +1,3 @@
|
|||
<img src="https://media.babylonbee.com/thumbs/article-9988-1-thumb.jpg"> <p>AMES, IA—Local man Justin Parkinson isn't like ordinary people. He was born with a superpower. Parkinson, according to sources, has the ability to pick the absolute slowest grocery store lane every single time.</p>
|
||||
<p>The post <a rel="nofollow" href="https://babylonbee.com/news/man-born-with-incredible-superpower-of-picking-slowest-grocery-store-line-100-of-the-time">Man Born With Incredible Superpower Of Picking Slowest Grocery Store Lane 100% Of The Time</a> appeared first on <a rel="nofollow" href="https://babylonbee.com">The Babylon Bee</a>.</p>
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
<p>SHOW NOTES: </p>
|
||||
|
||||
<p>- All the info you need to START is on our <a href='http://www.thebiblerecap.com'>website</a>! </p>
|
||||
|
||||
<p>- Join our <a href='https://www.patreon.com/thebiblerecap'>PATREON</a> family for bonus perks!</p>
|
||||
|
||||
<p>- Get your <a href='https://www.theconnextion.com/tlcdgroup/index.cfm'>TBR merch</a></p>
|
||||
|
||||
<p>- <a href='http://thebiblerecap.com/contact'>Show credits</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>FROM TODAY’S PODCAST: </p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=Numbers+26%3A55&version=ESV'>Numbers 26:55</a></p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=Numbers+33%3A54&version=ESV'>Numbers 33:54</a></p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=Isaiah+2%3A9&version=ESV'>Isaiah 2:9</a></p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=2+kings+16%3A1-9&version=ESV'>2 Kings 16:1-9</a></p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=Genesis+14%3A17&version=ESV'>Genesis 14:17</a></p>
|
||||
|
||||
<p>- Video: <a href='https://www.youtube.com/watch?v=mGgWaPGpGz4'>Amos Overview</a></p>
|
||||
|
||||
<p>- <a href='http://www.thebiblerecap.com/contact'>TBR Contact Info</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>SOCIALS:</p>
|
||||
|
||||
<p>The Bible Recap:<a href='https://instagram.com/thebiblerecap'> Instagram</a> |<a href='https://www.facebook.com/thebiblerecap'> Facebook</a> |<a href='https://twitter.com/thebiblerecap'> Twitter</a></p>
|
||||
|
||||
<p>D-Group:<a href='https://instagram.com/mydgroup/'> Instagram</a> |<a href='https://www.facebook.com/ilovemydgroup'> Facebook</a> |<a href='https://mobile.twitter.com/mydgroup'> Twitter</a></p>
|
||||
|
||||
<p>TLC:<a href='https://instagram.com/taraleighcobble'> Instagram</a> |<a href='https://www.facebook.com/taraleighcobble'> Facebook</a> |<a href='https://twitter.com/taraleighcobble'> Twitter</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>D-GROUP:
|
||||
The Bible Recap is brought to you by<a href='https://www.mydgroup.org/'> D-Group</a> - an international network of discipleship and accountability groups that meet weekly in homes and churches:<a href='https://www.mydgroup.org/map'> Find or start one near you today</a>!</p>
|
|
@ -0,0 +1 @@
|
|||
<!-- SC_OFF --><div class="md"><p>I’ve just read about “radio targets” in the org mode manual (section 4.3 at the time of writing this), and I immediately thought of using them in my knowledge base (Zettelkasten-style).</p> <p>From what I understand though, radio targets only work in the same file. Currently my knowledge base spans a lot of small files. Assuming I concatenated them to one file, it would clock in at 5k lines (and constantly expanding). I am worried that this large org file would slow down emacs.</p> <p>Does anyone have experience with using radio targets in such a setup? Are my performance worries unfounded?</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/vrinek"> /u/vrinek </a> <br/> <span><a href="https://www.reddit.com/r/orgmode/comments/q6nrd4/radio_targets_for_knowledge_base/">[link]</a></span>   <span><a href="https://www.reddit.com/r/orgmode/comments/q6nrd4/radio_targets_for_knowledge_base/">[comments]</a></span>
|
|
@ -0,0 +1 @@
|
|||
<p><img src="https://thumbnails.lbry.com/T0PR5psUXuM" width="480" alt="thumbnail" title="To Roll or not to Roll | DLN Xtend 69" /></p>On this episode of DLN Xtend we discuss, whether or not rolling is the way to go for Linux distributions.<br /><br />Welcome to episode 69 of DLN Xtend. DLN Xtend is a community powered podcast. We take conversations from the DLN Community from places like the DLN Discourse Forums, Telegram group, Discord server and more. We also take topics from other shows around the network to give our takes.<br /><br />00:00 Introductions<br />11:05 Topic- To Roll or not to Roll<br />26:31 Host Related Interest<br />36:55 Wrap Up<br />38:13 Extras <br /><br />Main Topic Link<br />https://twitter.com/jeremy_soller/status/1417464682164547586<br /><br />Wendy<br />- PineTime https://pine64.com/product/pinetime-smartwatch-sealed/<br />- Another Tenacity Update<br /> -OG Topic https://github.com/tenacityteam/tenacity/discussions/388<br /> -Commits https://github.com/tenacityteam/tenacity/pull/404<br /><br />Nate<br />- Looking at audio hardware for my new studio.<br /><br />Upcoming Events <br />- Live DLN Xtend on 18th 11:00 AM EST / 3:00 PM UTC<br />- MEGA Fest on Aug 22nd 3:00 PM EST / 7:00 PM UTC<br />- Sudo Hangout Aug 26 12:30 PM EST / 5:30 PM UTC<br /><br />Join us in the DLN Community:<br />Discourse: https://discourse.destinationlinux.network/<br />Telegram: https://destinationlinux.org/telegram<br />Mumble: https://destinationlinux.network/mumble/<br />Discord: https://destinationlinux.org/discord servers to continue the discussion!<br /><br />Contact info:<br />Matt (Twitter @MattDLN)<br />Wendy (Mastodon @WendyDLN@mastodon.online)<br />Nate (cubiclenate.com)<br />...<br />https://www.youtube.com/watch?v=T0PR5psUXuM
|
|
@ -0,0 +1,29 @@
|
|||
<p>SHOW NOTES: </p>
|
||||
|
||||
<p>- All the info you need to START is on our <a href='http://www.thebiblerecap.com'>website</a>! Seriously, go there.
|
||||
- Join our <a href='https://www.patreon.com/thebiblerecap'>PATREON</a> community for bonus perks!</p>
|
||||
|
||||
<p>- Get your <a href='https://www.theconnextion.com/tlcdgroup/index.cfm'>TBR merch</a></p>
|
||||
|
||||
<p>- <a href='http://thebiblerecap.com/contact'>Show credits</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>FROM TODAY’S PODCAST: </p>
|
||||
|
||||
<p>- Join <a href='http://wwww.patreon.com/thebiblerecap'>Patreon</a> to receive this month’s bonus content on MENTORING.</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>SOCIALS:</p>
|
||||
|
||||
<p>The Bible Recap:<a href='https://instagram.com/thebiblerecap'> Instagram</a> |<a href='https://www.facebook.com/thebiblerecap'> Facebook</a> |<a href='https://twitter.com/thebiblerecap'> Twitter</a></p>
|
||||
|
||||
<p>D-Group:<a href='https://instagram.com/mydgroup/'> Instagram</a> |<a href='https://www.facebook.com/ilovemydgroup'> Facebook</a> |<a href='https://mobile.twitter.com/mydgroup'> Twitter</a></p>
|
||||
|
||||
<p>TLC:<a href='https://instagram.com/taraleighcobble'> Instagram</a> |<a href='https://www.facebook.com/taraleighcobble'> Facebook</a> |<a href='https://twitter.com/taraleighcobble'> Twitter</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>D-GROUP:
|
||||
The Bible Recap is brought to you by<a href='https://www.mydgroup.org/'> D-Group</a> - an international network of discipleship and accountability groups that meet weekly in homes and churches:<a href='https://www.mydgroup.org/map'> Find or start one near you today</a>!</p>
|
|
@ -0,0 +1,33 @@
|
|||
<p>SHOW NOTES: </p>
|
||||
|
||||
<p>- All the info you need to START is on our <a href='http://www.thebiblerecap.com'>website</a>! Seriously, go there.
|
||||
- Join our <a href='https://www.patreon.com/thebiblerecap'>PATREON</a> community for bonus perks!</p>
|
||||
|
||||
<p>- Get your <a href='https://www.theconnextion.com/tlcdgroup/index.cfm'>TBR merch</a></p>
|
||||
|
||||
<p>- <a href='http://thebiblerecap.com/contact'>Show credits</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>FROM TODAY’S PODCAST: </p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=Genesis+12&version=ESV'>Genesis 12</a></p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=deuteronomy+24%3A16&version=ESV'>Deuteronomy 24:16</a></p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=deuteronomy+11%3A29&version=ESV'>Deuteronomy 11:29</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>SOCIALS:</p>
|
||||
|
||||
<p>The Bible Recap:<a href='https://instagram.com/thebiblerecap'> Instagram</a> |<a href='https://www.facebook.com/thebiblerecap'> Facebook</a> |<a href='https://twitter.com/thebiblerecap'> Twitter</a></p>
|
||||
|
||||
<p>D-Group:<a href='https://instagram.com/mydgroup/'> Instagram</a> |<a href='https://www.facebook.com/ilovemydgroup'> Facebook</a> |<a href='https://mobile.twitter.com/mydgroup'> Twitter</a></p>
|
||||
|
||||
<p>TLC:<a href='https://instagram.com/taraleighcobble'> Instagram</a> |<a href='https://www.facebook.com/taraleighcobble'> Facebook</a> |<a href='https://twitter.com/taraleighcobble'> Twitter</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>D-GROUP:
|
||||
The Bible Recap is brought to you by<a href='https://www.mydgroup.org/'> D-Group</a> - an international network of discipleship and accountability groups that meet weekly in homes and churches:<a href='https://www.mydgroup.org/map'> Find or start one near you today</a>!</p>
|
172
var/elfeed/db/data/21/21694acca40f79f4c32d2db9228edfffd8475ebc
Normal file
172
var/elfeed/db/data/21/21694acca40f79f4c32d2db9228edfffd8475ebc
Normal file
|
@ -0,0 +1,172 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="pandoc" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||
<meta name="author" content="By Pierre Neidhardt" />
|
||||
<title>Emacs Hacks</title>
|
||||
<style type="text/css">
|
||||
code{white-space: pre-wrap;}
|
||||
span.smallcaps{font-variant: small-caps;}
|
||||
span.underline{text-decoration: underline;}
|
||||
div.column{display: inline-block; vertical-align: top; width: 50%;}
|
||||
</style>
|
||||
<style type="text/css">
|
||||
a.sourceLine { display: inline-block; line-height: 1.25; }
|
||||
a.sourceLine { pointer-events: none; color: inherit; text-decoration: inherit; }
|
||||
a.sourceLine:empty { height: 1.2em; position: absolute; }
|
||||
.sourceCode { overflow: visible; }
|
||||
code.sourceCode { white-space: pre; position: relative; }
|
||||
div.sourceCode { margin: 1em 0; }
|
||||
pre.sourceCode { margin: 0; }
|
||||
@media screen {
|
||||
div.sourceCode { overflow: auto; }
|
||||
}
|
||||
@media print {
|
||||
code.sourceCode { white-space: pre-wrap; }
|
||||
a.sourceLine { text-indent: -1em; padding-left: 1em; }
|
||||
}
|
||||
pre.numberSource a.sourceLine
|
||||
{ position: relative; }
|
||||
pre.numberSource a.sourceLine:empty
|
||||
{ position: absolute; }
|
||||
pre.numberSource a.sourceLine::before
|
||||
{ content: attr(data-line-number);
|
||||
position: absolute; left: -5em; text-align: right; vertical-align: baseline;
|
||||
border: none; pointer-events: all;
|
||||
-webkit-touch-callout: none; -webkit-user-select: none;
|
||||
-khtml-user-select: none; -moz-user-select: none;
|
||||
-ms-user-select: none; user-select: none;
|
||||
padding: 0 4px; width: 4em;
|
||||
color: #aaaaaa;
|
||||
}
|
||||
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
|
||||
div.sourceCode
|
||||
{ }
|
||||
@media screen {
|
||||
a.sourceLine::before { text-decoration: underline; }
|
||||
}
|
||||
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
|
||||
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
|
||||
code span.at { color: #7d9029; } /* Attribute */
|
||||
code span.bn { color: #40a070; } /* BaseN */
|
||||
code span.bu { } /* BuiltIn */
|
||||
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
|
||||
code span.ch { color: #4070a0; } /* Char */
|
||||
code span.cn { color: #880000; } /* Constant */
|
||||
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
|
||||
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
|
||||
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
|
||||
code span.dt { color: #902000; } /* DataType */
|
||||
code span.dv { color: #40a070; } /* DecVal */
|
||||
code span.er { color: #ff0000; font-weight: bold; } /* Error */
|
||||
code span.ex { } /* Extension */
|
||||
code span.fl { color: #40a070; } /* Float */
|
||||
code span.fu { color: #06287e; } /* Function */
|
||||
code span.im { } /* Import */
|
||||
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
|
||||
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
|
||||
code span.op { color: #666666; } /* Operator */
|
||||
code span.ot { color: #007020; } /* Other */
|
||||
code span.pp { color: #bc7a00; } /* Preprocessor */
|
||||
code span.sc { color: #4070a0; } /* SpecialChar */
|
||||
code span.ss { color: #bb6688; } /* SpecialString */
|
||||
code span.st { color: #4070a0; } /* String */
|
||||
code span.va { color: #19177c; } /* Variable */
|
||||
code span.vs { color: #4070a0; } /* VerbatimString */
|
||||
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
|
||||
</style>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<h1 class="title">Emacs Hacks</h1>
|
||||
<p class="author">By Pierre Neidhardt</p>
|
||||
</header>
|
||||
<h1 id="nyxt-interfaces">Nyxt interfaces</h1>
|
||||
<p>Nyxt can be controlled from an external program via SWANK. For instance, Emacs with <a href="https://github.com/slime/slime">SLIME</a> makes it possible to hack Nyxt while it's running.</p>
|
||||
<p>But what about the other way around? Can we use Nyxt to manipulate other programs? Sure we can! Nyxt is a full-blown Common Lisp program that can leverage all of Common Lisp power to interact with foreign programs via Unix sockets, XML-RPC, you name it.</p>
|
||||
<p>An interesting example is that of Emacs, since it can be hacked live with Elisp, a language very similar to Common Lisp. In the following article, Nyxt will generate Elisp code to hack Emacs live!</p>
|
||||
<h1 id="youtube-dl-with-emacs">Youtube-dl with Emacs</h1>
|
||||
<p><a href="https://yt-dl.org">Youtube-dl</a> is a great program for downloading audio and video files from a ridiculous number of websites.</p>
|
||||
<p>That said, we would like to make it more convenient than constantly copy-pasting to a shell. Besides, naively calling <code>youtube-dl</code> from Nyxt is not so convenient since we lack feedback or interactivity with the running subprocess.</p>
|
||||
<p>We could derive our own Youtube-dl extension for Nyxt so that we would have a buffer showing progress of multiple downloads and allowing for interactivity. However, until someone works on the extension, let's see what others have been doing so far.</p>
|
||||
<p>Chris Wellon wrote <a href="https://github.com/skeeto/youtube-dl-emacs/">a great Emacs extension</a>, which sadly, only works for Youtube. This won't stop us! Here is our poor man's universal interface to Youtube-dl to supplement the aforementioned extension:</p>
|
||||
<div class="sourceCode" id="cb1" data-org-language="lisp"><pre class="sourceCode commonlisp"><code class="sourceCode commonlisp"><a class="sourceLine" id="cb1-1" data-line-number="1">(<span class="kw">defun</span><span class="fu"> youtube-dl-url </span>(&optional url)</a>
|
||||
<a class="sourceLine" id="cb1-2" data-line-number="2"> <span class="st">"Run 'youtube-dl' over the URL.</span></a>
|
||||
<a class="sourceLine" id="cb1-3" data-line-number="3"><span class="st">If URL is nil, use URL at point."</span></a>
|
||||
<a class="sourceLine" id="cb1-4" data-line-number="4"> (interactive)</a>
|
||||
<a class="sourceLine" id="cb1-5" data-line-number="5"> (<span class="kw">setq</span> url (<span class="kw">or</span> url (thing-at-point-url-at-point)))</a>
|
||||
<a class="sourceLine" id="cb1-6" data-line-number="6"> (<span class="kw">let</span> ((eshell-buffer-name <span class="st">"*youtube-dl*"</span>)</a>
|
||||
<a class="sourceLine" id="cb1-7" data-line-number="7"> (<span class="kw">directory</span> (cl-loop for dir in '(<span class="st">"~/Videos"</span> <span class="st">"~/Downloads"</span>)</a>
|
||||
<a class="sourceLine" id="cb1-8" data-line-number="8"> <span class="kw">when</span> (file-directory-p dir)</a>
|
||||
<a class="sourceLine" id="cb1-9" data-line-number="9"> <span class="kw">return</span> (expand-file-name dir)</a>
|
||||
<a class="sourceLine" id="cb1-10" data-line-number="10"> finally <span class="kw">return</span> <span class="st">"."</span>))</a>
|
||||
<a class="sourceLine" id="cb1-11" data-line-number="11"> (eshell)</a>
|
||||
<a class="sourceLine" id="cb1-12" data-line-number="12"> (<span class="kw">when</span> (eshell-interactive-process)</a>
|
||||
<a class="sourceLine" id="cb1-13" data-line-number="13"> (eshell <span class="kw">t</span>))</a>
|
||||
<a class="sourceLine" id="cb1-14" data-line-number="14"> (eshell-interrupt-process)</a>
|
||||
<a class="sourceLine" id="cb1-15" data-line-number="15"> (insert (<span class="kw">format</span> <span class="st">"cd '%s' && youtube-dl "</span> <span class="kw">directory</span>) url)</a>
|
||||
<a class="sourceLine" id="cb1-16" data-line-number="16"> (eshell-send-input)))</a></code></pre></div>
|
||||
<p>The above snippet opens a dedicated <code>*youtube-dl*</code> Eshell buffer so that we can track download progress from there, as well as stack multiple video downloads.</p>
|
||||
<p>With that set up, now we can add the following snippet to our <code>nyxt/init.lisp</code>:</p>
|
||||
<div class="sourceCode" id="cb2" data-org-language="lisp"><pre class="sourceCode commonlisp"><code class="sourceCode commonlisp"><a class="sourceLine" id="cb2-1" data-line-number="1">(<span class="kw">defun</span><span class="fu"> eval-in-emacs </span>(&<span class="kw">rest</span> s-exps)</a>
|
||||
<a class="sourceLine" id="cb2-2" data-line-number="2"> <span class="st">"Evaluate S-EXPS with emacsclient."</span></a>
|
||||
<a class="sourceLine" id="cb2-3" data-line-number="3"> (<span class="kw">let</span> ((s-exps-string (cl-strings:replace-all</a>
|
||||
<a class="sourceLine" id="cb2-4" data-line-number="4"> (<span class="kw">write-to-string</span></a>
|
||||
<a class="sourceLine" id="cb2-5" data-line-number="5"> `(<span class="kw">progn</span> ,@s-exps) <span class="bu">:case</span> :downcase)</a>
|
||||
<a class="sourceLine" id="cb2-6" data-line-number="6"> <span class="co">;; Discard the package prefix.</span></a>
|
||||
<a class="sourceLine" id="cb2-7" data-line-number="7"> <span class="st">"nyxt::"</span> <span class="st">""</span>)))</a>
|
||||
<a class="sourceLine" id="cb2-8" data-line-number="8"> (<span class="kw">format</span> <span class="va">*error-output*</span> <span class="st">"Sending to Emacs:~%~a~%"</span> s-exps-string)</a>
|
||||
<a class="sourceLine" id="cb2-9" data-line-number="9"> (uiop:run-program</a>
|
||||
<a class="sourceLine" id="cb2-10" data-line-number="10"> (<span class="kw">list</span> <span class="st">"emacsclient"</span> <span class="st">"--eval"</span> s-exps-string))))</a>
|
||||
<a class="sourceLine" id="cb2-11" data-line-number="11"></a>
|
||||
<a class="sourceLine" id="cb2-12" data-line-number="12">(define-command youtube-dl-current-page ()</a>
|
||||
<a class="sourceLine" id="cb2-13" data-line-number="13"> <span class="st">"Download a video in the currently open buffer."</span></a>
|
||||
<a class="sourceLine" id="cb2-14" data-line-number="14"> (with-result (url (buffer-get-url))</a>
|
||||
<a class="sourceLine" id="cb2-15" data-line-number="15"> (eval-in-emacs</a>
|
||||
<a class="sourceLine" id="cb2-16" data-line-number="16"> (<span class="kw">if</span> (<span class="kw">search</span> <span class="st">"youtu"</span> url)</a>
|
||||
<a class="sourceLine" id="cb2-17" data-line-number="17"> `(<span class="kw">progn</span> (youtube-dl ,url) (youtube-dl-list))</a>
|
||||
<a class="sourceLine" id="cb2-18" data-line-number="18"> `(youtube-dl-url ,url)))))</a>
|
||||
<a class="sourceLine" id="cb2-19" data-line-number="19"></a>
|
||||
<a class="sourceLine" id="cb2-20" data-line-number="20">(define-key <span class="st">"C-c d"</span> 'youtube-dl-current-page)</a></code></pre></div>
|
||||
<p>We define a helper function <code>eval-in-emacs</code> which sends a bunch of formatted s-expressions to Emacs. This requires the Emacs daemon, either by starting Emacs with <code>emacs --daemon</code> or by running <code>M-x server-start</code> from an Emacs instance.</p>
|
||||
<p>The <code>youtube-dl-current-page</code> command tests whether the current URL is Youtube, in which case we use Chris Wellons' <code>youtube-dl</code> extension, or else we rely on the Eshell version we wrote in our Emacs config.</p>
|
||||
<h1 id="org-mode-and-org-capture">Org-mode and Org-capture</h1>
|
||||
<p><a href="https://orgmode.org/">Org-mode</a> is a great extension for Emacs for note taking (and so much more). It has a feature called "org-capture" which, on a key press, will store some contextual information to your agenda, so that later Org will remind you to refer to it again.</p>
|
||||
<p>This can be useful for a web browser: You'd like to mark this page and let Org remind you to read it later? Nothing easier! And off we go to add the following snippet to our Emacs init file:</p>
|
||||
<div class="sourceCode" id="cb3" data-org-language="lisp"><pre class="sourceCode commonlisp"><code class="sourceCode commonlisp"><a class="sourceLine" id="cb3-1" data-line-number="1">(add-to-list</a>
|
||||
<a class="sourceLine" id="cb3-2" data-line-number="2"> 'org-capture-templates</a>
|
||||
<a class="sourceLine" id="cb3-3" data-line-number="3"> `(<span class="st">"w"</span> <span class="st">"Web link"</span> entry (file+headline ,(<span class="kw">car</span> org-agenda-files) <span class="st">"Links"</span>)</a>
|
||||
<a class="sourceLine" id="cb3-4" data-line-number="4"> <span class="st">"* %?%a</span><span class="sc">\n</span><span class="st">:SCHEDULED: %(org-insert-time-stamp (org-read-date nil t </span><span class="sc">\"</span><span class="st">+1d</span><span class="sc">\"</span><span class="st">))</span><span class="sc">\n</span><span class="st">"</span>))</a></code></pre></div>
|
||||
<p>The above snippet does quite a few things, so let's analyze it carefully:</p>
|
||||
<ul>
|
||||
<li><p>The first <code>"w"</code> is the key binding to insert a web link when Org mode asks which capture to perform. You can add several capture templates with different key bindings to perform different actions.</p></li>
|
||||
<li><p><code>(file+headline ,(car org-agenda-files) "Links")</code> tells Org where to insert to result. Here we chose the "Links" headline in our first agenda file.</p></li>
|
||||
<li><p><code>%a</code> is the Org URL of the page we are going to pass from Nyxt.</p></li>
|
||||
<li><p>The rest is arbitrary. Here we schedule the reading to the day after (<code>+1d</code> in the time-stamp).</p></li>
|
||||
</ul>
|
||||
<p>See <code>org-capture-templates</code> documentation for more details.</p>
|
||||
<p>Now to our <code>nyxt/init.lisp</code>:</p>
|
||||
<div class="sourceCode" id="cb4" data-org-language="lisp"><pre class="sourceCode commonlisp"><code class="sourceCode commonlisp"><a class="sourceLine" id="cb4-1" data-line-number="1">(define-command org-capture ()</a>
|
||||
<a class="sourceLine" id="cb4-2" data-line-number="2"> <span class="st">"Org-capture current page."</span></a>
|
||||
<a class="sourceLine" id="cb4-3" data-line-number="3"> (with-result* ((url (buffer-get-url))</a>
|
||||
<a class="sourceLine" id="cb4-4" data-line-number="4"> (title (buffer-get-title)))</a>
|
||||
<a class="sourceLine" id="cb4-5" data-line-number="5"> (eval-in-emacs</a>
|
||||
<a class="sourceLine" id="cb4-6" data-line-number="6"> `(org-link-set-parameters</a>
|
||||
<a class="sourceLine" id="cb4-7" data-line-number="7"> <span class="st">"nyxt"</span></a>
|
||||
<a class="sourceLine" id="cb4-8" data-line-number="8"> :store (<span class="kw">lambda</span> ()</a>
|
||||
<a class="sourceLine" id="cb4-9" data-line-number="9"> (org-store-link-props</a>
|
||||
<a class="sourceLine" id="cb4-10" data-line-number="10"> <span class="bu">:type</span> <span class="st">"nyxt"</span></a>
|
||||
<a class="sourceLine" id="cb4-11" data-line-number="11"> :link ,url</a>
|
||||
<a class="sourceLine" id="cb4-12" data-line-number="12"> :description ,title)))</a>
|
||||
<a class="sourceLine" id="cb4-13" data-line-number="13"> `(org-capture))))</a>
|
||||
<a class="sourceLine" id="cb4-14" data-line-number="14"></a>
|
||||
<a class="sourceLine" id="cb4-15" data-line-number="15">(define-key <span class="st">"C-c C-t"</span> 'org-capture)</a></code></pre></div>
|
||||
<p>This is similar to the example in the previous section. Note that we are passing multiple s-expressions to Emacs, they will all be wrapped into a single <code>(progn ...)</code> and Emacs will evaluate everything in one go.</p>
|
||||
<p>Happy hacking!</p>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1 @@
|
|||
<p><img src="https://thumbnails.lbry.com/VmtsrX-uc1I" width="480" alt="thumbnail" title="Senate Prepares to Wag Finger at Zucc" /></p>₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿<br /><br />Monero<br />45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436<br /><br />Bitcoin<br />3MMKHXPQrGHEsmdHaAGD59FWhKFGeUsAxV<br /><br />Ethereum<br />0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079<br /><br />Litecoin<br />MBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF<br /><br />Dash<br />Xh9PXPEy5RoLJgFDGYCDjrbXdjshMaYerz<br /><br />Zcash<br />t1aWtU5SBpxuUWBSwDKy4gTkT2T1ZwtFvrr<br /><br />Chainlink<br />0x0f7f21D267d2C9dbae17fd8c20012eFEA3678F14<br /><br />Bitcoin Cash<br />qz2st00dtu9e79zrq5wshsgaxsjw299n7c69th8ryp<br /><br />Etherum Classic<br />0xeA641e59913960f578ad39A6B4d02051A5556BfC<br /><br />USD Coin<br />0x0B045f743A693b225630862a3464B52fefE79FdB<br /><br />Subscribe to my YouTube channel http://goo.gl/9U10Wz<br />and be sure to click that notification bell so you know when new videos are released.<br />...<br />https://www.youtube.com/watch?v=VmtsrX-uc1I
|
|
@ -0,0 +1 @@
|
|||
<table> <tr><td> <a href="https://www.reddit.com/r/unixporn/comments/r7uut9/xfce_it_kinda_like_old_chrome_os/"> <img src="https://preview.redd.it/q2mnr7nqka381.png?width=640&crop=smart&auto=webp&s=18b785c903d2a2ee763fd07e5d4364b75a163b1d" alt="[xfce] it kinda like old chrome os" title="[xfce] it kinda like old chrome os" /> </a> </td><td>   submitted by   <a href="https://www.reddit.com/user/chair____table"> /u/chair____table </a> <br/> <span><a href="https://i.redd.it/q2mnr7nqka381.png">[link]</a></span>   <span><a href="https://www.reddit.com/r/unixporn/comments/r7uut9/xfce_it_kinda_like_old_chrome_os/">[comments]</a></span> </td></tr></table>
|
|
@ -0,0 +1 @@
|
|||
<!-- SC_OFF --><div class="md"><p>I recently moved into emacs, and now I find myself learning all sort of stuffs, but I could'nt find a good article on how does emacs works, I am the type of person that don't like to use a tool and not understand how the tool that I like works, does anyone knows a good article on how emacs works?</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/BigCandySurprise"> /u/BigCandySurprise </a> <br/> <span><a href="https://www.reddit.com/r/emacs/comments/raebf5/how_does_emacs_works/">[link]</a></span>   <span><a href="https://www.reddit.com/r/emacs/comments/raebf5/how_does_emacs_works/">[comments]</a></span>
|
145
var/elfeed/db/data/21/21828bf0c1284e015b6b92d3500a3964bdd29959
Normal file
145
var/elfeed/db/data/21/21828bf0c1284e015b6b92d3500a3964bdd29959
Normal file
|
@ -0,0 +1,145 @@
|
|||
<p>Regular readers will know how much I enjoy a good tinker with my system. I have
|
||||
been playing with <a href="https://tiddlywiki.com">Tiddlywiki</a> recently, partly as a result of admiring Jack
|
||||
Baty’s <a href="https://rudimentarylathe.wiki/">rudimentarylathe.wiki</a> instance of Tiddlywiki, and partly because of Soren
|
||||
Bjornstad’s <a href="https://groktiddlywiki.com/read/">Grok Tiddlywiki book</a>, which I think I also found out about via Jack.
|
||||
I had tried out Tiddlywiki before but never quite <em>got</em> it. Soren’s book helped me
|
||||
to see how flexible it could be and how I might be able to use it in a similar
|
||||
fashion to the way I have been using <a href="https://www.rousette.org.uk/archives/extending-org-roam/">org-roam</a>. While I still enjoy org-roam,
|
||||
things feel (to me anyway) a bit up in the air with it at the moment, as there
|
||||
are big changes coming in version 2 which will probably involve a bit of
|
||||
backwards incompatibility. I couldn’t decide whether to wait to make the
|
||||
changes, or transition to the new version now, and that indecision made me
|
||||
reluctant to add to my collection of notes. In addition — for reasons too long
|
||||
and boring to go into here — I have also moved (reluctantly) from Bookends to
|
||||
Zotero. I like the flexibility that Zotero offers to those of us having to live
|
||||
in a dual Word/Pandoc citations world, but I really miss Bookends’ speed and UI.</p>
|
||||
<p>Anyway, this change in the tools I depend on left me with a puzzle: how could I
|
||||
export references (with metadata) from Zotero to Tiddlywiki so that I could make
|
||||
notes (known as ‘tiddlers’) on each journal article of interest? There’s a
|
||||
vanishingly small possibility that anyone else might want to solve a similar
|
||||
problem in exactly the same way as me, but in case anyone is curious, this is
|
||||
how I made it work.</p>
|
||||
<p>First, a health warning: this is big, messy hack, involving multiple bits of
|
||||
software and a lot of the coding equivalent of gaffer tape. It works for me, but
|
||||
there’s a lot which is specific to my setup. Nevertheless, I thought it might be
|
||||
useful to explain what I did, in case it inspires anyone else to set up their
|
||||
own system using bits of this solution. I’ll also indicate what you can do with
|
||||
each separate component, in case you want to pick and choose which parts you use.</p>
|
||||
<p>The overview of this system is as follows:</p>
|
||||
<ul>
|
||||
<li>Zotero can export metadata of selected references in various forms using
|
||||
Javascript files called ‘translators’. We can therefore export metadata in
|
||||
JSON format, making sure that we include the fields that Tiddlywiki expects to
|
||||
find in a JSON-format import.</li>
|
||||
<li>If you use the <a href="https://tiddlywiki.com/static/TiddlyWiki%2520on%2520Node.js.html">node multi-file setup</a> of Tiddlywiki and run it as a server
|
||||
(locally), you can make use of the <a href="https://tiddlywiki.com/prerelease/static/WebServer%2520API%253A%2520Put%2520Tiddler.html">Tiddlywiki API</a> to create tiddlers by
|
||||
passing some parameters plus a JSON body, which includes the content of the
|
||||
tiddler and its fields.</li>
|
||||
<li>The part we need to connect the two is a script of some kind to take the JSON
|
||||
exported from Zotero, construct a <code>PUT</code> request and submit it to the API.
|
||||
Since I have been learning Go recently, I decided to make a Go script to do
|
||||
this, and call that script with Keyboard Maestro to glue together a few other
|
||||
useful steps that I will explain below.</li>
|
||||
</ul>
|
||||
<h3 id="zotero">Zotero</h3>
|
||||
<p>First you need a translator file which gets placed in <code>~/Zotero/translators</code>. I
|
||||
based mine (which I’ve put in this <a href="https://gist.github.com/bsag/638f3380ac7fba12cb7e1abb5e5f272f">gist</a>) on one I found (<em>somewhere</em>,
|
||||
unfortunately I can’t remember where) which also exported JSON. I then looked at
|
||||
the JSON format that Tiddlywiki needs for imports and used that to construct the
|
||||
correct keys and values. <a href="https://github.com/wshanks/Zutilo">Zutilo</a> is a very useful Zotero plugin that I was using
|
||||
anyway, but which offers a way to set up particular translators so that they are
|
||||
accessible from a contextual menu or keyboard shortcut. The goal I had with
|
||||
getting this pipeline to work was to export the JSON from Zotero to the
|
||||
clipboard, then use the macOS <code>pbpaste</code> command to pipe the clipboard contents
|
||||
into the Go script. To make this work, you add the <code>translatorID</code> UUID string
|
||||
(line 2 of the script) in Zutilo to identify the translator to call for the <code>alt1</code>
|
||||
action. This is set up by going to Preferences > Advanced > Config Editor, then
|
||||
entering a value for <code>extensions.zutilo.quickCopy_alt1</code> of <code>export=3c2ea…</code> with the
|
||||
full UUID string after the equals sign. Then in Tools > Zutlio Preferences you
|
||||
can set up a contextual menu item and a hotkey for QuickCopy Alt1 (I used
|
||||
<kbd>Cmd+Ctrl+t</kbd>).</p>
|
||||
<p>At this point, you should be able to select one or more references in Zotero,
|
||||
use your hotkey to trigger the QuickCopy Alt1 command and find that your
|
||||
clipboard contains the JSON with the metadata of those references.</p>
|
||||
<h3 id="go-script">Go script</h3>
|
||||
<p>As I mentioned above, I’m only using Go here because I’m learning it and so it
|
||||
was a nice opportunity for a practical application. It does also enable you to
|
||||
build a self-contained binary that you can put somewhere in your path so that
|
||||
you don’t have to maintain a whole ecosystem of packages and their dependencies.
|
||||
However, if you are proficient in Ruby or Python (or shell scripting for that
|
||||
matter), it should be perfectly possible to use the Go script in my <a href="https://gist.github.com/bsag/638f3380ac7fba12cb7e1abb5e5f272f">gist</a> as
|
||||
model to write a version in your language of choice. I set it up so that the
|
||||
compiled binary (which I called <code>twimport</code>) takes the pasted JSON data exported
|
||||
using the translator as piped data. It parses this to extract the title and
|
||||
structure of each of the items (if more than one was selected), and then constructs
|
||||
a <code>PUT</code> request to the Tiddlywiki API to create the item.</p>
|
||||
<p>The API requires you to specify the title of the tiddler as one of the request
|
||||
parameters. I decided to use the citekey field of the reference in Zotero as my
|
||||
title, as (the way I have it set up), it includes the first author’s name, the
|
||||
first few words of the title, and year, and I can guarantee that it is unique.
|
||||
The translator has this citekey as one of its fields, so the script just grabs
|
||||
that to construct the API call. It is also worth noting (as this tripped me up
|
||||
initially) that the translator stores the JSON items as an array, even if you
|
||||
only select one item. However, the Tiddlywiki API expects a single item and
|
||||
throws an error if it gets an array. The script must therefore iterate over the
|
||||
array and construct an API request for each item. If you are trying to work out
|
||||
how to do this in another language, I heartily recommend trying out <a href="https://paw.cloud">Paw</a> (which
|
||||
is available on Setapp). I’ve used it a lot recently when trying to use APIs,
|
||||
and it is fantastic. You can try out different parameters and see exactly what
|
||||
response you get back. I never know exactly how to format headers or bodies, so
|
||||
being able to click around and set it up in the Paw UI makes it so much easier.
|
||||
It also enables you to export a request once you have sorted out the correct
|
||||
setup (using File > Export Request) in a variety of different languages. This
|
||||
was how I got the skeleton of the Go version, which was a huge help.</p>
|
||||
<p>If you get this stage working, you should be able to pipe your clipboard
|
||||
contents (containing the JSON exported by the translator) into this script to
|
||||
trigger Tiddlywiki to create a new tiddler. In my case, I can do this with
|
||||
<code>pbpaste | twimport</code> (as <code>twimport</code> is in my path).</p>
|
||||
<h3 id="gluing-the-parts-together">Gluing the parts together</h3>
|
||||
<p>Now that we can export JSON containing the metadata to the clipboard, and pipe
|
||||
that clipboard data to our Go script to create a new tiddler, it would be handy
|
||||
to be able to trigger this thing with a keyboard shortcut rather than going to
|
||||
the command line. In other words, it’s time to get out the gaffer tape again and
|
||||
stick a few more components on to our beautiful mess of code!</p>
|
||||
<p>As I own it anyway, and use it for everything, my method of choice here was
|
||||
<a href="https://www.keyboardmaestro.com/main/">Keyboard Maestro</a>. This is fairly simple, as it just automates the steps we would
|
||||
otherwise perform manually.</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p>We start with Zotero frontmost, with one or more references selected.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Keyboard Maestro then triggers the keyboard shortcut to QuickCopy the
|
||||
translated reference (in my case <kbd>Cmd+Ctrl+t</kbd> as explained above). That puts
|
||||
the JSON in the clipboard.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>An ‘execute shell script’ action then uses the <code>pbpaste | twimport</code> command to
|
||||
run the Go script and create the tiddler(s).</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>I use a single site app to view my Tiddlywiki (using <a href="https://www.bzgapps.com/coherence?lightbox=dataItem-k9x4zon11&ref=producthunt">Coherence X</a>, again
|
||||
available on Setapp), to make it feel more like a real macOS app. The final
|
||||
step in my macro activates this app, then reloads the page. This is necessary
|
||||
because externally adding files to the server version of Tiddlywiki does not
|
||||
automatically trigger the interface to refresh and register those files. For
|
||||
completeness, I also use the macro to trigger a notification with the name of
|
||||
the tiddler we’ve added.</p>
|
||||
</li>
|
||||
</ol>
|
||||
<p>Of course, the node <code>tiddlywiki</code> server needs to be running for the API to work.
|
||||
Again, you can just start it at the command line, or you can use <a href="http://undefinedvalue.com/setting-personal-tiddlywiki-server-os-x.html">these
|
||||
instructions</a> to create a <code>.plist</code> file to go in <code>~/Library/LaunchAgents</code> so that the
|
||||
server starts when you log in.</p>
|
||||
<p>Within Tiddlywiki, tiddlers tagged with the ‘Source’ tag (like the ones created
|
||||
with this workflow) have a template automatically applied which adds an HTML
|
||||
table to the top of the tiddler containing selected fields (such as authors,
|
||||
year, title and so on). I also copied the ‘Idea Explorer’ table from Soren’s own
|
||||
<a href="https://zettelkasten.sorenbjornstad.com">Zettelkasten</a>, which automatically summarises and links to links and backlinks from the
|
||||
current tiddler.</p>
|
||||
<p>I’m enjoying this setup. It started as an experiment driven by curiosity more
|
||||
than anything, but I’m <em>enjoying</em> taking notes and making links between ideas with
|
||||
Tiddlywiki, which means that I’m writing notes more often. Tiddlywiki also
|
||||
enables a lot of flexibility in the way that tiddlers can be searched, grouped
|
||||
and displayed, which means that if I decide in the future that I need to extract
|
||||
particular information from my notes, I can do so easily.</p>
|
|
@ -0,0 +1,88 @@
|
|||
<p>SHOW NOTES:
|
||||
Thanks for listening! We’ve posted some helpful info for you in our show notes below!</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>PODCAST BASICS:
|
||||
</p>
|
||||
|
||||
<p>- Subscribe where you listen!</p>
|
||||
|
||||
<p>- Check out the details on our <a href='http://www.thebiblerecap.com'>website
|
||||
</a></p>
|
||||
|
||||
<p>- Get the<a href='https://www.bible.com/app'> Bible app</a> (free)
|
||||
</p>
|
||||
|
||||
<p>- Follow our<a href='https://www.bible.com/reading-plans/5-chronological'> Bible reading plan</a></p>
|
||||
|
||||
<p>- Check out our customized <a href='https://www.theconnextion.com/tlcdgroup/index.cfm'>journal</a></p>
|
||||
|
||||
<p>- Join our <a href='https://www.patreon.com/thebiblerecap'>PATREON</a> community for bonus fun! </p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>MERCH:</p>
|
||||
|
||||
<p>Get your<a href='https://www.theconnextion.com/tlcdgroup/index.cfm'> TBR merch</a>! We’ve got t-shirts, coffee mugs, tote bags, phone wallets, and stickers! </p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>FROM TODAY’S PODCAST: </p>
|
||||
|
||||
<p>- We’re in Israel RIGHT NOW! You can see daily highlights by following Tara-Leigh on Instagram at <a href='http://instagram.com/taraleighcobble'>@taraleighcobble</a>! And if you want to join us on our next trip, visit <a href='http://thebiblerecap.com/israel'>thebiblerecap.com/israel</a> to get more info and fill out the interest form (not a commitment) today! We’ll send you more info on the trip so you can decide if it’s a good fit for you!</p>
|
||||
|
||||
<p>- <a href='https://thebiblerecap.podbean.com/e/130-psalm-50-53-60-75/'>Episode 130 - The Bible Recap</a></p>
|
||||
|
||||
<p>- <a href='https://www.biblegateway.com/passage/?search=judges+3%3A16&version=ESV'>Judges 3:16</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>SOCIALS:</p>
|
||||
|
||||
<p>The Bible Recap:<a href='https://instagram.com/thebiblerecap'> Instagram</a> |<a href='https://www.facebook.com/thebiblerecap'> Facebook</a> |<a href='https://twitter.com/thebiblerecap'> Twitter</a> | <a href='http://pinterest.com/thebiblerecap'>Pinterest</a></p>
|
||||
|
||||
<p>D-Group:<a href='https://instagram.com/mydgroup/'> Instagram</a> |<a href='https://www.facebook.com/ilovemydgroup'> Facebook</a> |<a href='https://mobile.twitter.com/mydgroup'> Twitter</a> | <a href='http://pinterest.com/ilovemydgroup'>Pinterest</a></p>
|
||||
|
||||
<p>TLC:<a href='https://instagram.com/taraleighcobble'> Instagram</a> |<a href='https://www.facebook.com/taraleighcobble'> Facebook</a> |<a href='https://twitter.com/taraleighcobble'> Twitter</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>D-GROUP:
|
||||
The Bible Recap is brought to you by<a href='https://www.mydgroup.org/'> D-Group</a> - an international network of discipleship and accountability groups that meet weekly in homes and churches:<a href='https://www.mydgroup.org/map'> Find or start one near you today</a>!</p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>TBR TEAM:
|
||||
</p>
|
||||
|
||||
<p>Written and Hosted by: <a href='http://taraleighcobble.com'>Tara-Leigh Cobble</a></p>
|
||||
|
||||
<p>Content Manager: <a href='http://mydgroup.org'>Courtney Vaughan
|
||||
</a></p>
|
||||
|
||||
<p>Podcast Operations: <a href='http://mydgroup.org'>Callie Summers
|
||||
</a></p>
|
||||
|
||||
<p>Website Management: <a href='http://mydgroup.org'>Joelle Smith</a></p>
|
||||
|
||||
<p>Sound Engineer: <a href='http://thebiblerecap.com'>Allison Congden</a></p>
|
||||
|
||||
<p>Content Design: <a href='http://misswyolene.com'>Morgan Young
|
||||
</a></p>
|
||||
|
||||
<p>Social Media Management: <a href='http://thebiblerecap.com'>Sarah Yocum</a></p>
|
||||
|
||||
<p>Journal Design: <a href='https://brittneyhmurray.weebly.com/'>Brittney Murray</a></p>
|
||||
|
||||
<p>Logo Design: <a href='mailto:landonhwade@gmail.com'>Landon Wade</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>Available on:<a href='https://itunes.apple.com/us/podcast/the-bible-recap/id1440833267'> iTunes</a> |<a href='https://open.spotify.com/show/2lWv2RlsyMSMzerbAb1uOx'> Spotify</a> |<a href='https://www.google.com/podcasts?feed=aHR0cHM6Ly93d3cuaXZvb3guY29tL3RoZS1iaWJsZS1yZWNhcF9mZ19mMTYzNzgzNF9maWx0cm9fMS54bWw'> Google</a> |<a href='https://www.stitcher.com/podcast/dgroup/the-bible-recap?refid=stpr'> Stitcher</a> |<a href='https://thebiblerecap.podbean.com/'> Podbean</a> | <a href='https://play.google.com/music/m/Ivmpjo6234pwcvclpwxzlklglpm?t=The_Bible_Recap'>Google Play</a> | <a href='http://youtube.com/c/TheBibleRecap'>YouTube
|
||||
</a></p>
|
||||
|
||||
<p> </p>
|
||||
|
||||
<p>WEBSITE:
|
||||
<a href='http://www.thebiblerecap.com'>thebiblerecap.com</a></p>
|
|
@ -0,0 +1 @@
|
|||
<p>What does divine election have to do with God’s blessing for all nations? In this week’s episode, we’re picking up the story of the family of God with Genesis 12-17, God’s calling of Abraham. Join Tim and Jon to see how God responds to Abraham and Sarah’s bad choices and turns them into something good for all people.</p><p><a href="https://bibleproject.com/podcast/abraham-immigrant-and-circumcision">View full show notes from this episode →</a></p><p>Timestamps </p><ul><li>Part one (0:00–17:50)</li><li>Part two (17:50–30:00)</li><li>Part three (30:00–40:00)</li><li>Part four (40:00–56:30)</li><li>Part five (56:30–end)</li></ul><p>Show Music </p><ul><li>“Serendipity feat. The Field Tapes” by Philanthrope</li><li>“Foggy Road” by Toonorth</li><li>“Imagination” by Montell Fish</li><li>“Everything Fades to Blue” by Sleepy Fish</li><li>“Defender Instrumental” by Tents</li></ul><p>Show produced by Dan Gummel. Show notes by Lindsey Ponder.</p><p>Powered and distributed by Simplecast.</p>
|
|
@ -0,0 +1 @@
|
|||
Not only does Darren share what he is doing at the FLF Conference 2021, but as well as encouragement to keep on hustling and grinding as the world gets crazier.
|
Loading…
Add table
Add a link
Reference in a new issue