trying to fix
This commit is contained in:
parent
fa407dfeb6
commit
e013d7569e
22945 changed files with 447936 additions and 0 deletions
|
@ -0,0 +1,4 @@
|
|||
<p><a href="https://www.lfg.co/page/1536/" rel="bookmark" title="1536"><img width="210" height="300" src="https://www.lfg.co/wp-content/uploads/2021/09/lfg5520-1532-sept02-21-210x300.jpg" class="attachment-medium size-medium wp-post-image" alt="" srcset="https://www.lfg.co/wp-content/uploads/2021/09/lfg5520-1532-sept02-21-210x300.jpg 210w, https://www.lfg.co/wp-content/uploads/2021/09/lfg5520-1532-sept02-21-105x150.jpg 105w, https://www.lfg.co/wp-content/uploads/2021/09/lfg5520-1532-sept02-21.jpg 700w" sizes="(max-width: 210px) 100vw, 210px" /></a></p>
|
||||
<p>The post <a rel="nofollow" href="https://www.lfg.co/page/1536/">1536</a> appeared first on <a rel="nofollow" href="https://www.lfg.co">Looking For Group</a>.</p><div class="feedflare">
|
||||
<a href="http://feeds.feedburner.com/~ff/LookingForGroup?a=Zv4OJ-c7_DM:vqsIEzUXtOw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/LookingForGroup?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LookingForGroup?a=Zv4OJ-c7_DM:vqsIEzUXtOw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/LookingForGroup?i=Zv4OJ-c7_DM:vqsIEzUXtOw:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/LookingForGroup?a=Zv4OJ-c7_DM:vqsIEzUXtOw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/LookingForGroup?d=7Q72WNTAKBA" border="0"></img></a>
|
||||
</div><img src="http://feeds.feedburner.com/~r/LookingForGroup/~4/Zv4OJ-c7_DM" height="1" width="1" alt=""/>
|
|
@ -0,0 +1,5 @@
|
|||
<p>Michael Hall from Endless joins us to discuss his new role, Endless’ involvement with Gnome & the unique approach they are taking with EndlessOS.<br>
|
||||
<br /> </p>
|
||||
|
||||
<p>Plus Fedora shares some future plans that have us really excited & we try to grok casync, Lennart Poettering’s new project for distributing file system images.</p><p><a href="https://jupitersignal.memberful.com/checkout?plan=52946" rel="payment">Support LINUX Unplugged</a></p>
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
<p>Should Linux users be anti-cloud? Why do so many of us feel guilty for using the”cloud”?</p>
|
||||
|
||||
<p>This week will dig into this conundrum and maybe even solve this more and more complex question.</p>
|
||||
|
||||
<p>Plus a little KDE vs Gnome debate, moral pirates, and even RMS’ workflow.</p><p><a href="https://jupitersignal.memberful.com/checkout?plan=52946" rel="payment">Support LINUX Unplugged</a></p>
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
<p>
|
||||
Just over eight months ago, I kicked off <i>This Month in Org</i> with an emphatic
|
||||
announcement of the blog's in the form of a <a href="https://blog.tecosaur.com/tmio/2021-04-26-Welcome.html">Welcome</a> post. If you haven't
|
||||
guessed, this is the first "blog post" I've ever written. In that <i>welcome</i> post,
|
||||
I gave my motivation for starting the blog --- essentially to bridge a perceived
|
||||
gap in information sources between a subscription to the Org project mailing
|
||||
list, and nothing.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
That is why I thought this blog should exist, but until now I have neglected to
|
||||
mention what <i>I</i> want to accomplish with it. By starting <i>TMiO</i> I hoped to:
|
||||
Engage more people with the improvements being made to Org[fn1].
|
||||
Highlight some of the great work being done by Org[fn1] contributors.
|
||||
Encourage more people to consider contributing to Org[fn1].
|
||||
Foster a stronger sense of an Org[fn1] community, outside the mailing list.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Since then, I've effused about Org to the tune of around ten thousand words. We
|
||||
started off with a fairly dry recount recent changes, which (after initial
|
||||
feedback) has shifted slightly to try to give more context on the improvements
|
||||
and how they may be used. In June I even went as far as to make the majority of
|
||||
the post about pre-existing features (writing Org for LaTeX).
|
||||
This change has been made to:
|
||||
Try to make the blog posts a little more interesting, and less tedious.
|
||||
Potentially introduce readers to nice features of Org they weren't aware of before.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We have now arrived at the first crucial question of this post: <i>How effective
|
||||
has this blog been in achieving its goals?</i>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Let's start off by looking at engagement. There is no tracking on this site, and
|
||||
I'm not even counting page views. We could read into Reddit upvotes (which
|
||||
usually hover around 100-ish per post), but with no strong trend I'm wary of
|
||||
reading too much into those numbers. What about engendering an interest in
|
||||
contributing? This is even harder to consider. It is similarly difficult to
|
||||
judge whether this blog might be helping (even if only a bit) foster a stronger
|
||||
sense of community.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Ok, how about the second crucial question: <i>Moving forwards, what changes should
|
||||
I make to the style of posts, if any?</i>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Hmmm, this is a prickly one too. Both of these questions suffer from the same
|
||||
problem --- <i>I</i> can't answer them. Simply put, I need to hear from <i>you</i>. Whether it
|
||||
be in the Reddit comments section, or by Email (<kbd>tec@</kbd> this domain), to direct
|
||||
2022's posts I am <i>very</i> interested in hearing your thoughts on:
|
||||
How engaging you've found this blog? (the content, the style of writing, etc.)
|
||||
Whether this blog has influenced your feelings on the Org project and/or community?
|
||||
Whether this blog has affected your thoughts on contributing to Org?
|
||||
What you think this blog has done well/badly over the past year?
|
||||
If there's anything you'd be interested in this blog doing differently in 2022?
|
||||
</p>
|
||||
|
||||
<p>
|
||||
That's all for now! Thank you for reading, and have a great new year 🙂
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Footnotes
|
||||
</p>
|
||||
|
||||
<p>
|
||||
[fn1] Both the org-mode codebase, and also the ecosystem that's sprung up
|
||||
around it
|
||||
</p>
|
|
@ -0,0 +1 @@
|
|||
This is Toby Sumpter with your CrossPolitic Daily News Brief for Thursday, June 17, 2021. Plug: Fight Laugh Feast University is offering two new online classes starting this July! Get the whole family involved and participate in live online classes via Zoom. Hangout with fellow friends of the network, and learn together with the whole […]
|
|
@ -0,0 +1,35 @@
|
|||
<p><div class="video-container"><iframe src="https://www.youtube-nocookie.com/embed/lWAZhqtHnEg?feature=oembed&start&end&wmode=opaque&loop=0&controls=1&mute=0&rel=0&modestbranding=1" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div></p>
|
||||
<p></p>
|
||||
<p><span id="more-1580"></span></p>
|
||||
<p>Sponsored by: <a href="https://do.co/dl" target="_blank" rel="noopener noreferrer">do.co/dl</a><br />
|
||||
<a href="https://do.co/dl" target="_blank" rel="noopener noreferrer"><img loading="lazy" class="alignnone size-full wp-image-1499" src="https://destinationlinux.org/wp-content/uploads/2019/01/digital-ocean-banner.png" alt="" width="468" height="60" /></a></p>
|
||||
<p>Hosts of Destination Linux:<br />
|
||||
<strong>Noah</strong> of Ask Noah Show = <a href="http://asknoahshow.com" target="_blank" rel="noopener noreferrer">http://asknoahshow.com</a><br />
|
||||
<strong>Ryan</strong>, aka DasGeek = <a href="https://dasgeekcommunity.com" target="_blank" rel="noopener noreferrer">https://dasgeekcommunity.com</a><br />
|
||||
<strong>Michael</strong> of TuxDigital = <a href="https://tuxdigital.com" target="_blank" rel="noopener noreferrer">https://tuxdigital.com</a><br />
|
||||
<strong>Zeb</strong>, aka Zebedeeboss = <a href="https://youtube.com/zebedeeboss" target="_blank" rel="noopener noreferrer">https://youtube.com/zebedeeboss</a></p>
|
||||
<p>Special Guest Host:<br />
|
||||
<strong>Wendy</strong> of Hardware Addicts = <a href="https://destinationlinux.network" target="_blank" rel="noopener noreferrer">https://destinationlinux.network</a></p>
|
||||
<p>Want to Support the Show?<br />
|
||||
Support on <a href="https://destinationlinux.org/patreon" target="_blank" rel="noopener noreferrer">Patreon</a> or on <a href="https://destinationlinux.org/sponsus" target="_blank" rel="noopener noreferrer">Sponsus</a><br />
|
||||
<a href="https://destinationlinux.network/store" target="_blank" rel="noopener noreferrer">Destination Linux Network Store</a></p>
|
||||
<p>Want to follow the show and hosts on social media?<br />
|
||||
You can find all of our social accounts at <a href="https://destinationlinux.org/contact" target="_blank" rel="noopener noreferrer">destinationlinux.org/contact</a></p>
|
||||
<p>—</p>
|
||||
<p>Community Feedback:<br />
|
||||
– Disaster Recovery Advice (eg: medical issues while keeping tech accessible)<br />
|
||||
– <a href="https://amzn.to/2FXLtA8" target="_blank" rel="noopener noreferrer">GL.iNet GL-MT300N-V2 Mini Travel Router</a><br />
|
||||
– <a href="https://amzn.to/30oH82B" target="_blank" rel="noopener noreferrer">Mpow CH6 Kids Headphones</a><br />
|
||||
– Clarification on Noah’s stance on Microsoft bringing various software to Linux<br />
|
||||
– Feedback on Ubuntu might not be the safe fallback distro anymore</p>
|
||||
<p>Topics covered in this episode:<br />
|
||||
<a href="https://itsfoss.com/openeuler/" target="_blank" rel="noopener noreferrer">openEuler</a><br />
|
||||
<a href="https://www.omgubuntu.co.uk/2020/01/firefox-72-released-this-is-whats-new" target="_blank" rel="noopener noreferrer">New Firefox 72 Released</a><br />
|
||||
<a href="https://itsfoss.com/linus-torvalds-zfs/" target="_blank" rel="noopener noreferrer">Linus Say No To ZFS In Kernel</a><br />
|
||||
<a href="https://www.zdnet.com/article/ces-2020-new-dell-linux-developer-xps-13-laptop-is-on-its-way/" target="_blank" rel="noopener noreferrer">New Dell Linux Laptop</a><br />
|
||||
<a href="https://www.gamingonlinux.com/articles/nvidia-have-a-new-vulkan-beta-driver-out-adds-a-fix-for-dxvk.15739" target="_blank" rel="noopener noreferrer">Nvidia Wakes Up</a></p>
|
||||
<p>—</p>
|
||||
<p>Software Spotlight:<br />
|
||||
<a href="https://virt-manager.org/" target="_blank" rel="noopener noreferrer">Virtual Machine Manager</a></p>
|
||||
<p>Tips & Tricks:<br />
|
||||
<a href="https://amzn.to/371ZKI0" target="_blank" rel="noopener noreferrer">Intel PRO/1000 Pt Dual Port Server Adapter</a></p>
|
|
@ -0,0 +1 @@
|
|||
<!-- SC_OFF --><div class="md"><p>Hello,</p> <p>So I use an SSD for my packages and the OS and an external HDD for storage, with symlinks between the relevant directories. </p> <p>I am not disappointed with performance. But I got to wondering as I am getting a new machine soon and so will be doing a fresh install - is my current setup really optimal? </p> <p>I know some people just stick anything below /home/user/ onto the HDD. This isn't what I've done; rather I have specific directories, like Documents, Music, etc. on the HDD.</p> <p>​</p> <p>I figure it might be quicker to answer: what directories, if any, under /home/ should *not* go onto a storage HDD? The paru cache takes up a lot of space, for example, but I figure it benefits from the write speed of the SSD. I figure things like the firefox cache <em>may</em> benefit from being on SSD, but I am not sure (a bit like games - sometimes you <em>do</em> see a performance difference when a game is on an SSD, other times, nope, none at all.)</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/haelaeif"> /u/haelaeif </a> <br/> <span><a href="https://www.reddit.com/r/archlinux/comments/r6bzk9/optimal_ssd_hdd_setup_which_directories_should_go/">[link]</a></span>   <span><a href="https://www.reddit.com/r/archlinux/comments/r6bzk9/optimal_ssd_hdd_setup_which_directories_should_go/">[comments]</a></span>
|
134
var/elfeed/db/data/93/937757effc48cdf1c25b85d37554dbd556c597f5
Normal file
134
var/elfeed/db/data/93/937757effc48cdf1c25b85d37554dbd556c597f5
Normal file
|
@ -0,0 +1,134 @@
|
|||
<ul class="org-ul">
|
||||
<li><a href="https://emacsconf.org/2021/cfp/">EmacsConf 2021 Call for Proposals</a> (<a href="https://reddit.com/r/emacs/comments/oyl40m/emacsconf_2021_call_for_proposals/">Reddit</a>, <a href="https://news.ycombinator.com/item?id=28075442">HN</a>) until Sept 30</li>
|
||||
<li>Upcoming events:
|
||||
<ul class="org-ul">
|
||||
<li>EmacsConf Office Hour <a href="https://emacsconf.org/2021/office-hours/">https://emacsconf.org/2021/office-hours/</a>
|
||||
<ul class="org-ul">
|
||||
<li>Tue Sep 7 1800 Vancouver / 2000 Chicago / 2100 Toronto – Wed Sep 8 0100 GMT / 0300 Berlin / 0630 Kolkata / 0900 Singapore</li>
|
||||
<li>Fri Sep 10 2100 Vancouver / 2300 Chicago – Sat Sep 11 0000 Toronto / 0400 GMT / 0600 Berlin / 0930 Kolkata / 1200 Singapore</li>
|
||||
<li>Sat Sep 11 0800 Vancouver / 1000 Chicago / 1100 Toronto / 1500 GMT / 1700 Berlin / 2030 Kolkata / 2300 Singapore</li>
|
||||
<li>Tue Sep 14 1800 Vancouver / 2000 Chicago / 2100 Toronto – Wed Sep 15 0100 GMT / 0300 Berlin / 0630 Kolkata / 0900 Singapore</li>
|
||||
<li>Fri Sep 17 2100 Vancouver / 2300 Chicago – Sat Sep 18 0000 Toronto / 0400 GMT / 0600 Berlin / 0930 Kolkata / 1200 Singapore</li>
|
||||
<li>Sat Sep 18 0800 Vancouver / 1000 Chicago / 1100 Toronto / 1500 GMT / 1700 Berlin / 2030 Kolkata / 2300 Singapore</li>
|
||||
</ul></li>
|
||||
<li>EmacsSF: Emacs Lisp: Org-mode Hacks <a href="https://www.meetup.com/Emacs-SF/events/280469304/">https://www.meetup.com/Emacs-SF/events/280469304/</a> Thu Sep 16 1000 Vancouver / 1200 Chicago / 1300 Toronto / 1700 GMT / 1900 Berlin / 2230 Kolkata – Fri Sep 17 0100 Singapore</li>
|
||||
<li><a href="https://github.com/JimDBh/eldoc-on-hold">New package: Eldoc-on-hold, delay the display of eldoc messages.</a> (<a href="https://www.reddit.com/r/emacs/comments/per3rw/new_package_eldoconhold_delay_the_display_of/">Reddit</a>)</li>
|
||||
<li><a href="https://tech.toryanderson.com/2021/08/30/my-emacs-godmode-indicators-and-elisp-equivalent-of-defonce/">Tory Anderson: My emacs godmode indicators and Elisp equivalent of defonce</a></li>
|
||||
<li>M-x Research (contact them for password): TBA <a href="https://m-x-research.github.io/">https://m-x-research.github.io/</a> Fri Sep 17 0700 Vancouver / 0900 Chicago / 1000 Toronto / 1400 GMT / 1600 Berlin / 1930 Kolkata / 2200 Singapore</li>
|
||||
</ul></li>
|
||||
<li>Emacs configuration:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://www.manueluberti.eu//emacs/2021/09/01/package-report/">Manuel Uberti: Package report</a></li>
|
||||
<li><a href="https://github.com/trev-dev/emacs">trev-dev's emacs configuration</a></li>
|
||||
</ul></li>
|
||||
<li>Emacs development:
|
||||
<ul class="org-ul">
|
||||
<li>Lots of discussions on emacs-devel!
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://lwn.net/SubscriberLink/867956/64db8de475f56b61">Emacs discusses web-based development workflows</a> (<a href="https://www.reddit.com/r/emacs/comments/phuxjc/emacs_discusses_webbased_development_workflows/">Reddit</a>, ) - LWN commentary</li>
|
||||
<li><a href="https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg00099.html">Discussion about representation of the Emacs userbase on emacs-devel</a></li>
|
||||
<li><a href="https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg00179.html">Discussion re: indent-tabs-mode default</a></li>
|
||||
<li><a href="https://lists.gnu.org/archive/html/emacs-devel/2020-09/msg00314.html">Gather a list of confusions beginner tend to have</a></li>
|
||||
<li><a href="https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg00178.html">Could Emacs Have a Set-up Wizard?</a></li>
|
||||
<li><a href="https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg00415.html">Want suggestion on implementing collaborative repls and alikes</a></li>
|
||||
<li><a href="https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg00420.html">Emacs default bindings</a> and the idea of profiles</li>
|
||||
</ul></li>
|
||||
<li><a href="https://www.reddit.com/r/emacs/comments/pfbawu/is_it_a_pipe_dream_for_emacs_to_be_as_fast_as/">Is it a pipe dream for Emacs to be as fast as Neovim?</a></li>
|
||||
<li>NEWS updates:
|
||||
<ul class="org-ul">
|
||||
<li><a href="http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=73a90cda4a8d38aa20a3e4758894d358ee78646c">Clarify completion-list-mode NEWS entry</a></li>
|
||||
<li><a href="http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=2ed2999ce59bb404509dd7f319c00f4085427cde">New user options to automatically show the first Xref match: xref-auto-jump-to-first-definition, xref-auto-jump-to-first-xref, etags-xref-prefer-current-file</a></li>
|
||||
<li><a href="http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=a8de88e3300464eb382a65ea96da69f23d21ead2">Allow killing the diff buffer after `C-x v u'</a></li>
|
||||
<li><a href="http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=3f999c03c2842c72b832b7f59ba4c45c0ec725be">Add support for customization group hyperlinks in doc strings</a></li>
|
||||
<li><a href="http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=ca7e76c6f98cb09a686bcda7890ca10fd374fb4f">Add diary-offset to diary-lib.el</a></li>
|
||||
<li><a href="http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=e1c893f4a3ae005a76f34d2393fccb9a219abed1">Allow not putting pasted text onto the kill ring under xterm</a></li>
|
||||
<li><a href="http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=4bdae17a74f1b6ea6b81066ce31f7ff5b45d3379">* etc/NEWS: Announce recent change in 'toggle-truncate-lines'.</a></li>
|
||||
<li><a href="http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=6a6de68dafd27238577e92a7a79e97f3f1a6e381">Add new macro `with-existing-directory'</a></li>
|
||||
<li><a href="http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=2c662e6d66165db8ead2f4d19a61af521807b8ba">Add new command `clone-frame'</a></li>
|
||||
<li><a href="http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=50765f3f511d467ff024dda7c84530c759253d18">Make run-at-time try harder to run at integral multiples</a></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
<li>Appearance:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://www.youtube.com/watch?v=H-8hhuGIy98">Emacs - zoom in and zoom out</a> (09:35)</li>
|
||||
<li><a href="https://github.com/ocodo/ocodo-svg-modelines">ocodo-svg-modelines: a collection of beautiful, modern SVG modelines for Emacs</a></li>
|
||||
<li><a href="https://www.reddit.com/r/emacs/comments/pebbqq/basic_wysiwyg_printing_in_gnu_emacs_braille/">Basic WYSIWYG printing in GNU Emacs (Braille)</a></li>
|
||||
<li><a href="https://github.com/rougier/nano-sidebar">nano-sidebar: Emacs package to have configurable sidebars on a per frame basis.</a> (<a href="https://www.reddit.com/r/emacs/comments/pf1nm5/sidebar_child_frame/">Reddit</a>)</li>
|
||||
</ul></li>
|
||||
<li>Navigation:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://v.redd.it/7eqmrvf40nk71">Fast note-searching with dynamic module</a> (<a href="https://www.reddit.com/r/emacs/comments/pf08xj/fast_notesearching_with_dynamic_module/">Reddit</a>)</li>
|
||||
</ul></li>
|
||||
<li>Writing:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://lucidmanager.org/productivity/emacs-for-distraction-free-writing/">Emacs for Distraction-Free Writing</a> (May 2021)</li>
|
||||
</ul></li>
|
||||
<li>Org Mode:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://karl-voit.at/2021/08/30/the-org-mode-way/">UOMF: The Right Way to Use Org Mode</a> (<a href="https://www.reddit.com/r/emacs/comments/pen0lu/the_right_way_of_using_org_mode/">Reddit</a>)</li>
|
||||
<li><a href="https://protesilaos.com/codelog/2021-08-31-emacs-second-brain-mindfulness/">Protesilaos Stavrou: Emacs as a ‘second brain’ and mindfulness</a> (<a href="https://www.reddit.com/r/planetemacs/comments/pf5rjz/protesilaos_stavrou_emacs_as_a_second_brain_and/">Reddit</a>)</li>
|
||||
<li><a href="http://ag91.github.io/blog/2021/09/05/moldable-emacs-taking-lispy-notes-that-are-easier-to-search">Andrea: Moldable Emacs: taking lispy notes that are easier to search!</a></li>
|
||||
<li><a href="https://i.redd.it/vgs5s54tyfk71.png">Coming soonish: taxy-org-ql-search (sort of like an org-super-agenda 2.0)</a> (<a href="https://www.reddit.com/r/orgmode/comments/pecpsw/coming_soonish_taxyorgqlsearch_sort_of_like_an/">Reddit</a>)</li>
|
||||
<li><a href="https://gitlab.com/tygrdev/org-real">org-real: Keep track of real things as org links</a> (<a href="https://i.redd.it/x177gfik5sk71.gif">preview</a>, <a href="https://www.reddit.com/r/orgmode/comments/pfhtuh/preview_orgreal/">Reddit</a>)</li>
|
||||
<li>Import, export, and integration:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://youtu.be/avtiR0AUVlo">Classy Slideshows From Emacs Org Mode + org-reveal</a> (8:46, <a href="https://www.reddit.com/r/emacs/comments/pgw0tq/classy_slideshows_from_emacs_org_mode_orgreveal/">Reddit</a>)</li>
|
||||
<li><a href="https://buron.coffee/entity/ox_activity_streams">ox-activity-streams: Publish org files as fediverse posts by serving only static file</a></li>
|
||||
<li><a href="https://www.reddit.com/r/emacs/comments/pin7jy/obgrpc_grpc_evaluation_functions_for_orgbabel/">ob-grpc - Grpc evaluation functions for org-babel</a></li>
|
||||
<li><a href="https://thearjunmdas.github.io/entries/plot-graphs-in-emacs-org-mode/">Plotting graphs with emacs</a> (<a href="https://www.reddit.com/r/planetemacs/comments/pfk2jx/plotting_graphs_with_emacs/">Reddit</a>)</li>
|
||||
<li><a href="https://bl0g.dev/post/flytte-dag/">Flytte dag - og hvorfor org-mode egentlig bare er sejere end alt andet</a></li>
|
||||
</ul></li>
|
||||
<li>Org Roam:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://www.youtube.com/watch?v=fWmZoaTvA8k">System Crafters Live! - Exploring the Org Roam DB API</a> (01:57:52)</li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
<li>Completion:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://readingworldmagazine.com/emacs/2021-09-01-emacs-company-continued-first-thing-to-do-when-developing-with-emacs/">yuri tricys: Emacs Company-Mode Continued : The First Thing To Do When Developing With Emacs</a></li>
|
||||
<li><a href="https://www.reddit.com/r/emacs/comments/pgr8ja/companymode_new_discussions_section_with/">company-mode: new Discussions section with hand-picked Q&A, and better Contributing docs</a></li>
|
||||
</ul></li>
|
||||
<li>Coding:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://www.reddit.com/r/emacs/comments/pi0mvg/ann_lspmode_800_released/">[ANN] lsp-mode 8.0.0 released</a></li>
|
||||
<li><a href="https://www.reddit.com/r/emacs/comments/peezh4/teaser_a_php_parser_and_company_backend_in_emacs/">Teaser: A php parser and company backend in emacs lisp</a></li>
|
||||
</ul></li>
|
||||
<li>Mail and news:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://philjackson.github.io//emacs/mu4e/email/2021/08/30/save-all-mu4e-attachments/">Phil Jackson: Save all mu4e attachments</a></li>
|
||||
</ul></li>
|
||||
<li>Fun:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://lifeofpenguin.blogspot.com/2021/08/scribble-notes-in-gnu-emacs.html">Scribble notes in GNU Emacs</a> (<a href="https://www.reddit.com/r/emacs/comments/peevvy/scribble_notes_in_gnu_emacs/">Reddit</a>)</li>
|
||||
<li><a href="https://www.reddit.com/r/emacs/comments/pemtrz/do_stuff_with_books_in_emacs/">Do Stuff with Books in Emacs</a> (finito.el)</li>
|
||||
<li><a href="https://www.youtube.com/watch?v=rE2w6Fpag18">【ゲーム実況】emacs内蔵ゲームdunnetをやってみた</a> (24:15)</li>
|
||||
</ul></li>
|
||||
<li>Community:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://www.reddit.com/r/emacs/comments/pfpgm9/weekly_tips_tricks_c_thread/">Weekly Tips, Tricks, &c. Thread</a></li>
|
||||
<li><a href="https://www.reddit.com/r/DoomEmacs/comments/phno98/wishing_henrik_quick_recovery/">Wishing Henrik quick recovery…</a> (Doom Emacs)</li>
|
||||
<li><a href="https://www.reddit.com/r/emacs/comments/pfusgm/melpa_recently_passed_the_5000_packages_mark/">Melpa recently passed the 5000 packages mark</a></li>
|
||||
</ul></li>
|
||||
<li>Other:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://www.reddit.com/r/emacs/comments/phr2w9/control_home_assistant_from_emacs/">Control Home Assistant from Emacs!</a></li>
|
||||
<li><a href="https://youtube.com/watch?v=z9W0pnShEWc&feature=share">Bring a Web Browser, Python, Javascript and more to EMACS - Emacs Application Framework</a> (<a href="https://www.reddit.com/r/emacs/comments/pir3to/bring_a_web_browser_python_javascript_and_more_to/">Reddit</a>)</li>
|
||||
<li><a href="https://www.youtube.com/watch?v=mTJ54yNFgZI">Hack Sessions // Improving EXWM #1</a> (02:00:26)</li>
|
||||
</ul></li>
|
||||
<li>New packages:
|
||||
<ul class="org-ul">
|
||||
<li><a href="https://elpa.gnu.org/packages/engrave-faces.html" target="_blank">engrave-faces</a>: Convert font-lock faces to other formats</li>
|
||||
<li><a href="http://melpa.org/#/earthfile-mode" target="_blank">earthfile-mode</a>: Major mode for editing Earthly file</li>
|
||||
<li><a href="http://melpa.org/#/evil-textobj-tree-sitter" target="_blank">evil-textobj-tree-sitter</a>: Provides evil textobjects using tree-sitter</li>
|
||||
<li><a href="http://melpa.org/#/message-view-patch" target="_blank">message-view-patch</a>: Colorize patch-like emails in mu4e</li>
|
||||
<li><a href="http://melpa.org/#/org-zettelkasten" target="_blank">org-zettelkasten</a>: Helper functions to use Zettelkasten in org-mode</li>
|
||||
<li><a href="http://melpa.org/#/polybar-sesman" target="_blank">polybar-sesman</a>: Display active sesman connections in polybar</li>
|
||||
<li><a href="http://melpa.org/#/streak" target="_blank">streak</a>: Track a daily streak in your Mode Line</li>
|
||||
<li><a href="http://melpa.org/#/topsy" target="_blank">topsy</a>: Simple sticky header</li>
|
||||
<li><a href="http://melpa.org/#/zettelkasten" target="_blank">zettelkasten</a>: Helper functions to organise notes in a Zettelkasten style</li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Links from <a href="https://www.reddit.com/r/emacs">reddit.com/r/emacs</a>, <a href="https://www.reddit.com/r/orgmode">r/orgmode</a>, <a href="https://www.reddit.com/r/spacemacs">r/spacemacs</a>, <a href="https://www.reddit.com/r/planetemacs">r/planetemacs</a>, <a href="https://hn.algolia.com/?query=emacs&sort=byDate&prefix&page=0&dateRange=all&type=story">Hacker News</a>, <a href="https://planet.emacslife.com">planet.emacslife.com</a>, <a href="https://www.youtube.com/playlist?list=PL4th0AZixyREOtvxDpdxC9oMuX7Ar7Sdt">YouTube</a>, <a href="http://git.savannah.gnu.org/cgit/emacs.git/log/etc/NEWS">the Emacs NEWS file</a>, <a href="https://emacslife.com/calendar/">Emacs Calendar</a> and <a href="http://lists.gnu.org/archive/html/emacs-devel/2021-09">emacs-devel</a>.
|
||||
</p>
|
|
@ -0,0 +1 @@
|
|||
<table> <tr><td> <a href="https://www.reddit.com/r/unixporn/comments/rfjt3i/xfce_wake_up_neo/"> <img src="https://preview.redd.it/68ia37nb8c581.jpg?width=640&crop=smart&auto=webp&s=c5d8c90725d4a065d5229d2bd0ef81ce532941a2" alt="[XFCE] Wake up, Neo" title="[XFCE] Wake up, Neo" /> </a> </td><td>   submitted by   <a href="https://www.reddit.com/user/tnetenbaa"> /u/tnetenbaa </a> <br/> <span><a href="https://i.redd.it/68ia37nb8c581.jpg">[link]</a></span>   <span><a href="https://www.reddit.com/r/unixporn/comments/rfjt3i/xfce_wake_up_neo/">[comments]</a></span> </td></tr></table>
|
|
@ -0,0 +1,11 @@
|
|||
<img src="https://www-images.christianitytoday.com/images/125868.jpg?h=303&w=540" width="540" /><p class="text">I just realized in my 41st year of life, in my 21st year of intentionally following Jesus, and in my 11th year as a lead pastor of a church that…I am Nicodemus. And I’m not alone. Here’s the familiar story:</p>
|
||||
<blockquote class="text">
|
||||
<p class="text">Now there was a Pharisee, a man named Nicodemus who was a member of the Jewish ruling council. 2 He came to Jesus at night and said, “Rabbi, we know that you are a teacher who has come from God. For no one could perform the signs you are doing if God were not with him.” Jesus replied, “Very truly I tell you, no one can see the kingdom of God unless they are born again … Very truly I tell you, no one can enter the kingdom of God unless they are born of water and the Spirit. 6 Flesh gives birth to flesh, but the Spirit gives birth to spirit. 7 You should not be surprised at my saying, ‘You must be born again.’ 8 The wind blows wherever it pleases. You hear its sound, but you cannot tell where it comes from or where it is going. So it is with everyone born of the Spirit.” 9 “How can this be?” Nicodemus asked. 10 “You are Israel’s teacher,” said Jesus, “and do you not understand these things? (John 3:1-10)</p>
|
||||
</blockquote>
|
||||
<p class="text">To “see” and “enter” the Kingdom of God in the Gospel of John is not about getting correct doctrine, moving from the “out” group into the “saved” group, and going to Heaven when I die. Entering, beholding, and living in the Kingdom is Jesus’ shorthand for awakening to a new spiritual awareness of God’s abiding presence in and around me here and now made available by Jesus, and living my life within the domain of God’s effective will (D. Willard). This much I have ...</p><p class="more"><a href="https://www.christianitytoday.com/scot-mcknight/2021/october/i-am-nicodemus.html">Continue reading</a>...</p>
|
||||
<p><br /><a href="https://rss.beaconads.com/click.php?z=1289806&k=c779018782158d93282944b4f7dd4d03&a=190091&c=23897809" target="_blank"><img src="https://rss.beaconads.com/img.php?z=1289806&k=c779018782158d93282944b4f7dd4d03&a=190091&c=23897809" border="0" alt="" /></a></p>
|
||||
|
||||
10
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
<p>We celebrate Pi Day by loading Mycroft & Alexa onto a Raspberry Pi 3, look at the actual use cases for VR & AR under Linux today, flash back to Linux in the 90s & update on our favorite projects.</p><p><a href="https://jupitersignal.memberful.com/checkout?plan=52946" rel="payment">Support LINUX Unplugged</a></p>
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
<div class="date">1 Sep 2015</div>
|
||||
|
||||
<p>
|
||||
I was asked to speak about <a href="http://howardism.org/Technical/Emacs/literate-devops.html">Literate Devops</a> at <a href="http://emacsconf2015.org/">EmacsConf 2015</a>. Due
|
||||
to work and family complications, I knew that I couldn’t physically
|
||||
attend. Wait, what year is this!? We should open a can of
|
||||
virtualization on this meatspace! The week before, we tested out
|
||||
the technology, and the Furies looked favorable upon me to remotely
|
||||
attend a live conference.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
On Saturday, September 29th at 9:00am, I sat at my large monitor,
|
||||
carefully arranged into windows of note taking Emacs, conference
|
||||
twitter feeds, the <code>#emacsconf</code> IRC channel ... and of course, the
|
||||
live video feed. “This is good,” I thought. No struggling in
|
||||
uncomfortable seats to power small-screened laptops. I had all
|
||||
the coffee I wanted, and just the way I wanted it too.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The first talk, by <a href="http://nicolas-petton.fr/presentations/emacsconf2015">Nicolas Petton</a> (who was also presenting remotely
|
||||
from France), illustrated immutable data structures and lazy
|
||||
sequencing from <a href="http://twitter.com/howardabrams/status/637676190640156672">Clojure to Emacs Lisp</a>.
|
||||
I thought, “This is going to be a great day!”
|
||||
</p>
|
||||
|
||||
<p>
|
||||
And then <a href="http://twitter.com/howardabrams/status/637692234226233344">it happened</a>. The power went out halfway through the second talk.
|
||||
Using the battery and data service on my cell phone, I went to the
|
||||
power utility’s web site. Their power outage map was covered in
|
||||
red. Estimated time began at 12:50... then 1:30... then 3:00...
|
||||
</p>
|
||||
|
||||
<p>
|
||||
I panicked and put out a <a href="http://twitter.com/howardabrams/status/637695592404094980">plea for help</a>. I quickly cross town to
|
||||
the first friend who responded, to give my talk perched in his
|
||||
living room.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
My demonstration went <a href="http://www.twitch.tv/emacsconf/v/13477760">well enough</a> (I start at 1:27:00), but I was
|
||||
frazzled and the environment on my laptop was less than ideal. I
|
||||
received some very thoughtful compliments, however:
|
||||
</p>
|
||||
|
||||
<blockquote>
|
||||
<p>
|
||||
Your talk on Literate DevOps with Org-Mode was fantastic, and
|
||||
everyone was blown away by it. You had a really stressful day, but
|
||||
you gave the talk anyway for your fellow emacers, and everyone
|
||||
really enjoyed it. I really appreciate the effort it took to go
|
||||
through with the talk after your power cut out. An excerpt from IRC
|
||||
at the end of your talk:
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
<p>
|
||||
The virtual clapping on IRC was pretty humorous:
|
||||
</p>
|
||||
|
||||
<pre class="example" id="orga7f6245">
|
||||
| 5:41 PM | <tered> <clap clap>
|
||||
| 5:41 PM | — cestdiego *claps*
|
||||
| 5:41 PM | <python476> <fingerclap>
|
||||
| 5:41 PM | <Caine> great talk
|
||||
| 5:41 PM | <momerath> thanks Howard!!
|
||||
| 5:41 PM | <cestdiego> M-x clap
|
||||
| 5:41 PM | — offby1 stomps feet
|
||||
| 5:42 PM | — python476 flips IKEA desks
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
While the entire experience was interesting and enjoyable, I just
|
||||
wasn’t pleased, and felt my fellow Cultists in the Church of Emacs
|
||||
deserved better, so last night, I <a href="https://youtu.be/dljNabciEGg">re-recorded myself</a>. The audio is
|
||||
better, but it doesn’t have the questions and answers afterward.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
See you all next year at EmacsConf 2016!
|
||||
</p>
|
||||
|
|
@ -0,0 +1 @@
|
|||
<p><img src="https://thumbnails.lbry.com/lDdVUlXLjx8" width="480" alt="thumbnail" title="What's The Point Of A Linux Init System" /></p>Every Linux system has an init but have you ever thought about what an init has to do, not what they various implementations do but broken down to the core what an init has to actually do. I hadn't either and the result was actually kind of surprising.<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 />==========Time Stamps==========<br />0:00 Introduction<br />1:01 Why PID 1<br />3:54 High Level Init Tasks<br />2:48 Important Notes About Init<br />5:12 Low Level Init Tasks<br />6:05 Anything Can Be Init<br />9:10 Is That The Answer Then<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 #InitSystem #Grub #BrodieRobertson<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=lDdVUlXLjx8
|
|
@ -0,0 +1 @@
|
|||
<p><img src="https://spee.ch/4/57f3406f52654927.png" width="480" alt="thumbnail" title="Skynet Went Live June 8! Attn: Alexa Echo and Ring Owners" /></p>On June 8, 2021 Skynet went LIVE. If you have an Amazon Alexa Echo or an Amazon Ring Camera then your devices have now been recruited with a default opt-in to support the Amazom SideWalk.<br /><br />Now a secret network has been enabled that powers devices on the steets without the need for a Wifi connection or an Internet connection. Amazon Echos and Rings all over will now provide the network architecture by passing the signals to and from devices on 900mhz through the Internet by sharing in the bandwidth of everyone with these Amazon devices.<br /><br />However these devices are not under the control of the owner of the device. These network activities are encrypted and kept private between Amazon and the device so you don't even know what your device is doing, what other devices it is listening to or whether it is doing Remote control.<br /><br />Welcome to Skynet.<br /><br />-----------------------------------<br />My Other Channels:<br />Rob's Offgrid Sailing Vessel Project https://www.youtube.com/channel/UCIbFTIUhvgms2huu22mYhmQ<br />Rob Braxman Jazz https://www.youtube.com/channel/UCSUHcGpHgo70GmGEmnjQE1A<br /><br /><br />-----------------------------------<br /><br />I'm the Internet Privacy Guy. I'm a public interest technologist. I'm here to educate. You are losing your Internet privacy and Internet security every day if you don't fight for it. Your data is collected with endless permanent data mining. Learn about a TOR router, a VPN , antivirus, spyware, firewalls, IP address, wifi triangulation, data privacy regulation, backups and tech tools, and evading mass surveillance from NSA, CIA, FBI. Learn how to be anonymous on the Internet so you are not profiled. Learn to speak freely with pseudo anonymity. Learn more about the dangers of the inernet and the dangers of social media, dangers of email.<br /><br /><br />I like alternative communication technology like Amateur Radio and data communications using Analog. I'm a licensed HAM operator.<br /><br /><br />Support this channel on Patreon! https://www.patreon.com/user?u=17858353<br /><br />Contact Rob on the Brax.Me App (@robbraxman) for encrypted conversations (open source platform)<br /><br />https://brax.me/home/rob Store for BytzVPN, BraxRouter, De-googled Privacy AOSP Phones, Linux phones, and merchandise<br /><br />https://bytzvpn.com Premium VPN with Pi-Hole, Cloud-Based TOR Routing<br /><br />https://whatthezuck.net Cybersecurity Reference<br /><br />https://brax.me Privacy Focused Social Media - Open Source <br /><br />My GPG Public Key https://brax.me/f/rob_braxme_public.asc/T4AZ5ea27dc817c903.67892248<br /><br /><br /><br />Please follow me on Odysee! (Previously LBRY)<br />https://odysee.com/$/invite/@RobBraxmanTech:6
|
|
@ -0,0 +1 @@
|
|||
<table> <tr><td> <a href="https://www.reddit.com/r/unixporn/comments/r5s5ia/spectacle_aqua_unix_rice_for_frontend_development/"> <img src="https://preview.redd.it/51belr7umr281.png?width=640&crop=smart&auto=webp&s=5aca38a4de4c97143b102afec862f5eaecde6752" alt="[Spectacle + Aqua] Unix Rice for frontend development" title="[Spectacle + Aqua] Unix Rice for frontend development" /> </a> </td><td>   submitted by   <a href="https://www.reddit.com/user/i_used_to_have_pants"> /u/i_used_to_have_pants </a> <br/> <span><a href="https://i.redd.it/51belr7umr281.png">[link]</a></span>   <span><a href="https://www.reddit.com/r/unixporn/comments/r5s5ia/spectacle_aqua_unix_rice_for_frontend_development/">[comments]</a></span> </td></tr></table>
|
|
@ -0,0 +1,34 @@
|
|||
<!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 John Mercouris" />
|
||||
<title>Supercharging Demeter's search!</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>
|
||||
<!--[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">Supercharging Demeter's search!</h1>
|
||||
<p class="author">By John Mercouris</p>
|
||||
</header>
|
||||
<p>We are happy to announce a new version of Demeter, our mythical feed reader! This update is available for all existing users (simply re-download Demeter to fetch a new version). To learn more about Demeter, please see <a href="https://nyxt.atlas.engineer/application/demeter.org">here</a>.</p>
|
||||
<p>Included in this new version of Demeter is a new caching system for articles, and a sophisticated article content search powered by Montezuma!</p>
|
||||
<p>To invoke the new search, run the command <code>search-articles</code>:</p>
|
||||
<p><img src="../static/image/article/demeter-search-articles.png" /></p>
|
||||
<p>Then, type in the information that you would like to search for:</p>
|
||||
<p><img src="../static/image/article/demeter-search.png" /></p>
|
||||
<p>This search is more powerful than simply looking at the titles/content of documents. It will also consider suffixes and prefixes, doing a complete logical search.</p>
|
||||
<p>Montezuma is a very fascinating library that has supercharged Demeter's search. We hope you enjoy it :-)</p>
|
||||
<p>thanks for reading!</p>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1 @@
|
|||
<!-- SC_OFF --><div class="md"><p>Quite often system seems to turn on itself from being suspended, by closing the lid.</p> <p>Kernel: 5.15.5-zen1-1-zen</p> <p>Here, I closed the lid at 11:04:59 and later found the system has been turned on.</p> <p><code>sudo systemctl status systemd-logind.service</code> (relevant part) ``` ● systemd-logind.service - User Login Management Loaded: loaded (/usr/lib/systemd/system/systemd-logind.service; static) Active: active (running) since Sat 2021-11-27 08:06:40 IST; 3h 2min ago Docs: man:sd-login(3) man:systemd-logind.service(8) man:logind.conf(5) man:org.freedesktop.login1(5) Main PID: 384 (systemd-logind) Status: "Processing requests..." Tasks: 1 (limit: 4589) Memory: 3.7M CPU: 421ms CGroup: /system.slice/systemd-logind.service └─384 /usr/lib/systemd/systemd-logind</p> <p>... ... നവം 27 11:04:59 archie systemd-logind[384]: Lid closed. നവം 27 11:04:59 archie systemd-logind[384]: Suspending... നവം 27 11:06:55 archie systemd-logind[384]: Operation 'sleep' finished. നവം 27 11:07:17 archie systemd-logind[384]: Lid opened. ```</p> <p><code>journalctl</code> (relevant part): <a href="https://nekobin.com/kasihunora">https://nekobin.com/kasihunora</a></p> <p>I have not made any changes to <code>/etc/systemd/logind</code></p> <p>What could be causing this?</p> <p>Thanks (:</p> </div><!-- SC_ON -->   submitted by   <a href="https://www.reddit.com/user/mishab_mizzunet"> /u/mishab_mizzunet </a> <br/> <span><a href="https://www.reddit.com/r/archlinux/comments/r36luv/system_turns_on_itself_from_suspend/">[link]</a></span>   <span><a href="https://www.reddit.com/r/archlinux/comments/r36luv/system_turns_on_itself_from_suspend/">[comments]</a></span>
|
246
var/elfeed/db/data/93/93e631917fa4d6c5535f97f7111125d91e18a478
Normal file
246
var/elfeed/db/data/93/93e631917fa4d6c5535f97f7111125d91e18a478
Normal file
|
@ -0,0 +1,246 @@
|
|||
<!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="Artyom Bologov" />
|
||||
<title>Writing Nyxt Extensions: Example of nx-search-engines</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">Writing Nyxt Extensions: Example of nx-search-engines</h1>
|
||||
<p class="author">Artyom Bologov</p>
|
||||
</header>
|
||||
<p>Nyxt is an extensible browser. But how does one write an extension for it? Given that there are few extensions (as of March 2021), there isn't much existing code to learn from. That's why I've written this step-by-step guide about how to extend Nyxt.</p>
|
||||
<p>So, here's the process you can follow:</p>
|
||||
<h1 id="create-a-cl-package-and-an-asdf-system.">Create a CL package and an ASDF system.</h1>
|
||||
<p>Nyxt is built in Common Lisp, so you need to follow the packaging conventions for Common Lisp programs:</p>
|
||||
<ul>
|
||||
<li>Create a separate package in a separate repository.
|
||||
<ul>
|
||||
<li>Write a package.lisp file with your package definitions.</li>
|
||||
</ul></li>
|
||||
<li>Write a system/systems definition relying on <a href="https://www.common-lisp.net/project/asdf/asdf.html">ASDF</a>.</li>
|
||||
<li>(Nyxt-specific recommendation) Name the repository and system with a <code>nx-</code> prefix for discoverability.</li>
|
||||
</ul>
|
||||
<p>It's a lot, isn't it? Fortunately, all these routines can be automated with <code>quickproject</code>. So, you can open up Lisp REPL and do:</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">(ql:quickload :quickproject) <span class="co">;; Load quickproject</span></a>
|
||||
<a class="sourceLine" id="cb1-2" data-line-number="2"><span class="co">;; Create all the necessary things.</span></a>
|
||||
<a class="sourceLine" id="cb1-3" data-line-number="3"><span class="co">;; In my case, I ran something like:</span></a>
|
||||
<a class="sourceLine" id="cb1-4" data-line-number="4">(quickproject:make-project</a>
|
||||
<a class="sourceLine" id="cb1-5" data-line-number="5"> <span class="co">;; Path to your extension. Remember the nx- prefix :)</span></a>
|
||||
<a class="sourceLine" id="cb1-6" data-line-number="6"> <span class="st">"~/git/nx-search-engines/"</span></a>
|
||||
<a class="sourceLine" id="cb1-7" data-line-number="7"> <span class="co">;; Your name.</span></a>
|
||||
<a class="sourceLine" id="cb1-8" data-line-number="8"> :author <span class="st">"Artyom Bologov"</span></a>
|
||||
<a class="sourceLine" id="cb1-9" data-line-number="9"> <span class="co">;; The license you want to distribute it under.</span></a>
|
||||
<a class="sourceLine" id="cb1-10" data-line-number="10"> :license <span class="st">"BSD 2-clause"</span></a>
|
||||
<a class="sourceLine" id="cb1-11" data-line-number="11"> <span class="co">;; You depend on Nyxt -- you're writing an extension for it, after all.</span></a>
|
||||
<a class="sourceLine" id="cb1-12" data-line-number="12"> :depends-on '(:nyxt))</a></code></pre></div>
|
||||
<p>And most of the work will be done for you!</p>
|
||||
<h1 id="set-up-your-package">Set-up your package</h1>
|
||||
<p>You'll likely need to refer to Nyxt symbols (be they names of functions, classes, or variables). Typically this can be done by using the <code>nyxt:</code> prefix. To avoid that, you can import the frequently used symbols from the <code>nyxt</code> package. In the case of <code>nx-search-engines</code>, I needed <code>define-class</code>, <code>define-mode</code>, <code>define-command</code>, and <code>search-engine</code> class.</p>
|
||||
<p>Importing can be done via the <a href="http://www.lispworks.com/documentation/HyperSpec/Body/m_defpkg.htm">package definition</a>, together with nickname setting, symbol exporting, and package documentation. In the case of <code>nx-search-engines</code>, package definition looked like this:</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="co">;;;; package.lisp</span></a>
|
||||
<a class="sourceLine" id="cb2-2" data-line-number="2"></a>
|
||||
<a class="sourceLine" id="cb2-3" data-line-number="3">(<span class="kw">defpackage</span><span class="fu"> </span>#:nx-search-engines</a>
|
||||
<a class="sourceLine" id="cb2-4" data-line-number="4"> <span class="co">;; "Systematically importing all symbols with `:use #:nyxt` is</span></a>
|
||||
<a class="sourceLine" id="cb2-5" data-line-number="5"> <span class="co">;; discouraged because it exposes your package to collisions upon</span></a>
|
||||
<a class="sourceLine" id="cb2-6" data-line-number="6"> <span class="co">;; API changes when `nyxt` gets updated."</span></a>
|
||||
<a class="sourceLine" id="cb2-7" data-line-number="7"> (<span class="bu">:use</span> #:cl)</a>
|
||||
<a class="sourceLine" id="cb2-8" data-line-number="8"> <span class="co">;; Symbols I don't want to prefix.</span></a>
|
||||
<a class="sourceLine" id="cb2-9" data-line-number="9"> (:import-from #:nyxt</a>
|
||||
<a class="sourceLine" id="cb2-10" data-line-number="10"> #:define-class</a>
|
||||
<a class="sourceLine" id="cb2-11" data-line-number="11"> #:define-mode</a>
|
||||
<a class="sourceLine" id="cb2-12" data-line-number="12"> #:define-command</a>
|
||||
<a class="sourceLine" id="cb2-13" data-line-number="13"> #:search-engine)</a>
|
||||
<a class="sourceLine" id="cb2-14" data-line-number="14"> <span class="co">;; Symbols I want to be exported from nx-search-engines.</span></a>
|
||||
<a class="sourceLine" id="cb2-15" data-line-number="15"> <span class="co">;; This is a traditional and not-so-flexible way to export things.</span></a>
|
||||
<a class="sourceLine" id="cb2-16" data-line-number="16"> <span class="co">;; To export symbols from the extension files, use `serapeum:export-always'.</span></a>
|
||||
<a class="sourceLine" id="cb2-17" data-line-number="17"> (:export #:duckduckgo</a>
|
||||
<a class="sourceLine" id="cb2-18" data-line-number="18"> #:duckduckgo-images</a>
|
||||
<a class="sourceLine" id="cb2-19" data-line-number="19"> #:google</a>
|
||||
<a class="sourceLine" id="cb2-20" data-line-number="20"> #:google-images</a>
|
||||
<a class="sourceLine" id="cb2-21" data-line-number="21"> #:bing-date</a>
|
||||
<a class="sourceLine" id="cb2-22" data-line-number="22"> #:bing</a>
|
||||
<a class="sourceLine" id="cb2-23" data-line-number="23"> #:bing-images</a>
|
||||
<a class="sourceLine" id="cb2-24" data-line-number="24"> #:bing-videos</a>
|
||||
<a class="sourceLine" id="cb2-25" data-line-number="25"> #:bing-maps</a>
|
||||
<a class="sourceLine" id="cb2-26" data-line-number="26"> #:bing-news</a>
|
||||
<a class="sourceLine" id="cb2-27" data-line-number="27"> #:bing-shopping</a>
|
||||
<a class="sourceLine" id="cb2-28" data-line-number="28"> #:wordnet)</a>
|
||||
<a class="sourceLine" id="cb2-29" data-line-number="29"> (:documentation <span class="st">"A collection of search engines for Nyxt browser."</span>))</a></code></pre></div>
|
||||
<h1 id="write-the-code">Write the code</h1>
|
||||
<p>If you know Common Lisp, this step is straightforward – just write the extension relying on numerous Nyxt APIs (see next section about them).</p>
|
||||
<p>If you don't know Lisp – no problem, you can always learn it and write a great extension in the process! We've put together a collection of resources that can help you in starting out: <a href="https://nyxt.atlas.engineer/learn-lisp">Nyxt Common Lisp Learning Recommendations</a>.</p>
|
||||
<h1 id="use-nyxt-apis">Use Nyxt APIs</h1>
|
||||
<p>There are lots of libraries Nyxt depends on. You can freely use them. Nyxt will guarantee that they are loaded. A non-exhaustive list of libraries you can rely on:</p>
|
||||
<ul>
|
||||
<li><a href="https://common-lisp.net/project/alexandria/">Alexandria</a> – a battle-tested utilities library.</li>
|
||||
<li><a href="https://github.com/ruricolist/serapeum">Serapeum</a> – a bigger and frequently updated set of utilities.</li>
|
||||
<li><a href="https://common-lisp.net/project/bordeaux-threads/">Bordeaux Threads</a> – a simple multithreading primitives library.
|
||||
<ul>
|
||||
<li><a href="https://github.com/hawkir/calispel">Calispel</a> builds a great concurrency layer on top of Bordeaux Threads.</li>
|
||||
</ul></li>
|
||||
<li><a href="https://edicl.github.io/cl-ppcre/">CL-PPCRE</a> – a fast and Perl-compliant regular expressions library.
|
||||
<ul>
|
||||
<li><a href="https://github.com/vindarel/cl-str">str</a> – an intuitive string-manipulation library. Relies on CL-PPCRE.</li>
|
||||
</ul></li>
|
||||
<li><a href="https://github.com/fukamachi/quri">QURI</a> – a standard-compliant and fast URL representation. We use it in Nyxt core and it's much more reliable than using strings for URL storage.</li>
|
||||
<li><a href="https://common-lisp.net/project/local-time/">Local-time</a> to manage dates and times.</li>
|
||||
<li><a href="https://github.com/arielnetworks/cl-markup">CL-MARKUP</a>, <a href="https://github.com/Inaimathi/cl-css">CL-CSS</a>, <a href="https://common-lisp.net/project/parenscript/">Parenscript</a>, <a href="https://common-lisp.net/project/cl-json/cl-json.html">CL-JSON</a> to generate (respectively) HTML, CSS, JavaScript, and read JSON without leaving Lisp land.</li>
|
||||
<li><a href="https://shinmera.github.io/plump/">Plump</a> as a performant and error-resistant HTML parser.</li>
|
||||
<li><a href="https://github.com/pcostanza/closer-mop">Closer MOP</a> and <a href="https://github.com/gwkkwg/moptilities">Moptilities</a> as convenient Metaobject Protocol libraries to query and modify your classes at runtime.</li>
|
||||
<li><a href="https://github.com/guicho271828/trivia">Trivia</a> for powerful pattern-matching.</li>
|
||||
</ul>
|
||||
<p>Nyxt APIs rely on the above libraries and allow you to shorten your code and extend Nyxt in a wink:</p>
|
||||
<ul>
|
||||
<li><a href="https://nyxt.atlas.engineer/article/autofills.org">Autofills</a> as a way to define user-callable text generation of arbitrary complexity.</li>
|
||||
<li><a href="https://nyxt.atlas.engineer/article/auto-mode.org">Auto-mode</a> and its <code>add-modes-to-auto-mode-rules</code> to associate modes with URLs that they need to be automagically enabled on.</li>
|
||||
<li><code>define-class</code>, <code>define-user-class</code>, and <code>define-configuration</code> as ways to make your extension as easily extensible <a href="https://nyxt.atlas.engineer/article/class-based-functional-configuration.org">as the Nyxt core is</a>.</li>
|
||||
<li>Data storage API. You can thread-safely use arbitrary <code>nyxt:data-path</code>-persisted data using <code>with-data-access</code> and query it unsafely with <code>with-data-unsafe</code>.</li>
|
||||
<li><a href="https://nyxt.atlas.engineer/article/element-hints.org">Element hints</a> classes and <code>query-hints</code> for keyboard-only navigation.</li>
|
||||
<li>Fuzzy-matching and <code>prompt-buffer</code> with the over-powered <code>prompt</code>. Just use it with suitable <code>source</code>-s and enjoy :)</li>
|
||||
<li><a href="https://nyxt.atlas.engineer/article/global-history-tree.org">Global History Tree</a> – a lossless tree-like history mechanism. The underlying data structure can be used outside the domain of history management, e.g., in filesystem tracking or in smart, tree-reliant commands like Emacs' ones.</li>
|
||||
<li><a href="https://nyxt.atlas.engineer/article/hooks.org">Hooks</a> that have a great <a href="https://nyxt.atlas.engineer/article/hooks-implementation.org">type support and are easy to compose</a>.</li>
|
||||
<li>Password Interface, extensible access for your password manager of choice and callable from the Lisp code.</li>
|
||||
<li>Lots of <code>nyxt/web-mode</code> commands managing web navigation, be it history or page movement.</li>
|
||||
<li>Data Analysis library <a href="https://nyxt.atlas.engineer/article/dbscan.org">suitable</a> for your own small-scale data crunching.</li>
|
||||
<li><a href="https://nyxt.atlas.engineer/article/package-manager.org">OS Package Manager</a> to query the system package manager and install necessary utilitie.</li>
|
||||
<li><code>user-interface</code> library to build your Lisp-powered extension interfaces from.</li>
|
||||
</ul>
|
||||
<p>Since we use the Common Lisp package system, you can guess the stability of the API by how it's used:</p>
|
||||
<ul>
|
||||
<li>If it's exported and you can easily use it by prefixing it with <code>nyxt:</code>, then it's relatively stable and intended for extension use.</li>
|
||||
<li>If it's not exported (usable only with <code>nyxt::</code> prefix), then it may disappear someday.</li>
|
||||
<li>If it's not exported and has a percent sign in its name (e.g., <code>nyxt::%buffer</code>) – do not use it. It's an implementation detail that can change anytime and is intended for Nyxt-internal use.</li>
|
||||
</ul>
|
||||
<p>However, as it's all written in Lisp, no one restricts you from using anything you can get your hands on ;)</p>
|
||||
<h2 id="nx-search-engines-example">nx-search-engines example</h2>
|
||||
<p>In the case of <code>nx-search-engines</code>, I relied on the <code>search-engine</code> class – after all, I needed to generate Nyxt-native search engines. This is quite a simple and boring API, and yet it's sufficient to allow Lisp-customizable search engines.</p>
|
||||
<p>Another Nyxt API that I relied upon (particularly in <code>search-engines-mode</code>) was element hints. The <code>search-hint</code> command is a <code>follow-hint</code> sibling. The difference is that it searches the class-dispatchable hints instead of following them. All at the cost of several method definitions and a <code>search-hint</code> command call! That's how it looks:</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"><span class="co">;; One of the methods that search an element hint's contents.</span></a>
|
||||
<a class="sourceLine" id="cb3-2" data-line-number="2"><span class="co">;; This one uses the user-settable `image-search-engine' to search image URL.</span></a>
|
||||
<a class="sourceLine" id="cb3-3" data-line-number="3">(<span class="kw">defmethod</span><span class="fu"> </span>%search-hint ((hint nyxt/web-mode::image-hint))</a>
|
||||
<a class="sourceLine" id="cb3-4" data-line-number="4"> (nyxt:buffer-load (nyxt::generate-search-query</a>
|
||||
<a class="sourceLine" id="cb3-5" data-line-number="5"> (nyxt/web-mode::url hint)</a>
|
||||
<a class="sourceLine" id="cb3-6" data-line-number="6"> (nyxt:search-url (image-search-engine</a>
|
||||
<a class="sourceLine" id="cb3-7" data-line-number="7"> (nyxt:find-submode (nyxt:current-buffer)</a>
|
||||
<a class="sourceLine" id="cb3-8" data-line-number="8"> 'nyxt::search-engines-mode))))))</a>
|
||||
<a class="sourceLine" id="cb3-9" data-line-number="9"><span class="co">;;; More `%search-hint' definitions...</span></a>
|
||||
<a class="sourceLine" id="cb3-10" data-line-number="10"></a>
|
||||
<a class="sourceLine" id="cb3-11" data-line-number="11">(define-command search-hint (&key annotate-visible-only-p)</a>
|
||||
<a class="sourceLine" id="cb3-12" data-line-number="12"> <span class="st">"Search for the contents of the hint with default search engines.</span></a>
|
||||
<a class="sourceLine" id="cb3-13" data-line-number="13"><span class="st">In the case of links and input areas, a default search engine of Nyxt is</span></a>
|
||||
<a class="sourceLine" id="cb3-14" data-line-number="14"><span class="st">used (unless overridden by `engines:search-engine').</span></a>
|
||||
<a class="sourceLine" id="cb3-15" data-line-number="15"><span class="st">In case of images, `engines:image-search-engine' is used."</span></a>
|
||||
<a class="sourceLine" id="cb3-16" data-line-number="16"> (nyxt/web-mode::query-hints <span class="st">"Search element"</span> '%search-hint</a>
|
||||
<a class="sourceLine" id="cb3-17" data-line-number="17"> :annotate-visible-only-p annotate-visible-only-p))</a></code></pre></div>
|
||||
<h1 id="make-the-extension-extensible">Make the extension extensible :)</h1>
|
||||
<p>Nyxt uses the <a href="https://lispcookbook.github.io/cl-cookbook/clos.html">Common Lisp Object System (CLOS)</a> for everything. There are Nyxt-specific macros to make any CLOS class configurable by the user. To make your extension customizable, you need to know only two of them: <code>define-user-class</code> and <code>define-mode</code>.</p>
|
||||
<p><code>define-user-class</code> makes a class you've already defined (with <code>defclass</code> or <code>define-class</code>) configurable via <code>define-configuration</code>. That's the only thing you need to write to make your classes customizable:</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"><span class="co">;; Define your class. `define-class' is used for brevity.</span></a>
|
||||
<a class="sourceLine" id="cb4-2" data-line-number="2">(define-class your-class ()</a>
|
||||
<a class="sourceLine" id="cb4-3" data-line-number="3"> ((slot-name <span class="kw">nil</span></a>
|
||||
<a class="sourceLine" id="cb4-4" data-line-number="4"> <span class="bu">:type</span> (<span class="kw">or</span> <span class="kw">integer</span> <span class="kw">nil</span>)</a>
|
||||
<a class="sourceLine" id="cb4-5" data-line-number="5"> :documentation <span class="st">"Example slot."</span>))</a>
|
||||
<a class="sourceLine" id="cb4-6" data-line-number="6"> (:export-class-name-p <span class="kw">t</span>) <span class="co">; Your class name will be exported with your package prefix.</span></a>
|
||||
<a class="sourceLine" id="cb4-7" data-line-number="7"> (:export-accessor-names-p <span class="kw">t</span>) <span class="co">; Slot names will be exported too.</span></a>
|
||||
<a class="sourceLine" id="cb4-8" data-line-number="8"> (:export-predicate-name-p <span class="kw">t</span>) <span class="co">; A your-class-p type-checking predicate will be exported.</span></a>
|
||||
<a class="sourceLine" id="cb4-9" data-line-number="9"> (:accessor-name-transformer (hu.dwim.defclass-star:make-name-transformer name)))</a>
|
||||
<a class="sourceLine" id="cb4-10" data-line-number="10"></a>
|
||||
<a class="sourceLine" id="cb4-11" data-line-number="11">(define-user-class your-class)</a></code></pre></div>
|
||||
<p><code>define-mode</code> relies on this same system with <code>define-class</code>, <code>define-user-class</code>, and <code>define-configuration</code>. The difference is that modes are enableable and user-facing, while other classes usually aren't. A mode is the best place to store your extensions' configuration. I've relied on this with <code>nx-search-engines</code> and defined <code>search-engines-mode</code>:</p>
|
||||
<div class="sourceCode" id="cb5" data-org-language="lisp"><pre class="sourceCode commonlisp"><code class="sourceCode commonlisp"><a class="sourceLine" id="cb5-1" data-line-number="1">(define-mode search-engines-mode ()</a>
|
||||
<a class="sourceLine" id="cb5-2" data-line-number="2"> <span class="st">"A mode to search hints in the dedicated search engine and image search engine."</span></a>
|
||||
<a class="sourceLine" id="cb5-3" data-line-number="3"> ((search-engine (nyxt::default-search-engine</a>
|
||||
<a class="sourceLine" id="cb5-4" data-line-number="4"> (nyxt:search-engines (nyxt:current-buffer)))</a>
|
||||
<a class="sourceLine" id="cb5-5" data-line-number="5"> <span class="bu">:type</span> (<span class="kw">or</span> nyxt:search-engine <span class="kw">null</span>)</a>
|
||||
<a class="sourceLine" id="cb5-6" data-line-number="6"> :documentation <span class="st">"The search engine to use when calling `search-hint'."</span>)</a>
|
||||
<a class="sourceLine" id="cb5-7" data-line-number="7"> (image-search-engine (google-images)</a>
|
||||
<a class="sourceLine" id="cb5-8" data-line-number="8"> <span class="bu">:type</span> (<span class="kw">or</span> nyxt:search-engine <span class="kw">null</span>)</a>
|
||||
<a class="sourceLine" id="cb5-9" data-line-number="9"> :documentation <span class="st">"The search engine to use when calling `search-hint' on images."</span>)))</a></code></pre></div>
|
||||
<p>Search is the only thing <code>nx-search-engines</code> is concerned about. Customization of search engines to use when searching element hints is the only reasonable configuration there.</p>
|
||||
<p>Now one can change preferred search engines like this:</p>
|
||||
<div class="sourceCode" id="cb6" data-org-language="lisp"><pre class="sourceCode commonlisp"><code class="sourceCode commonlisp"><a class="sourceLine" id="cb6-1" data-line-number="1">(define-configuration engines:search-engines-mode</a>
|
||||
<a class="sourceLine" id="cb6-2" data-line-number="2"> ((engines:search-engine (engines:duckduckgo))</a>
|
||||
<a class="sourceLine" id="cb6-3" data-line-number="3"> (engines:image-search-engine (engines:duckduckgo-images))))</a></code></pre></div>
|
||||
<h1 id="make-nyxt-users-happy-by-publishing-the-extension">Make Nyxt users happy by publishing the extension!</h1>
|
||||
<p>Now that you've written your extension, packaged it, and used all the necessary customizable APIs, you can share it with the world! Don't forget to <a href="https://github.com/atlas-engineer/nyxt/pulls">let us know</a> about your extension for it to be included in a <a href="https://github.com/atlas-engineer/nyxt/blob/master/documents/EXTENSIONS.org">list of Nyxt extensions</a>.</p>
|
||||
<p>Thanks for reading :3</p>
|
||||
</body>
|
||||
</html>
|
|
@ -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.
|
||||
</p>
|
||||
|
||||
<p>- 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=Luke+10%3A38-42&version=ESV'>Luke 10:38-42</a></p>
|
||||
|
||||
<p>- <a href='https://www.theconnextion.com/tlcdgroup/index.cfm?CatID=933&prodlist=1'>Black Friday Sale</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>
|
Loading…
Add table
Add a link
Reference in a new issue