Introduction
Introduction Statistics Contact Development Disclaimer Help
atlas.engineer.atom.xml - sfeed_tests - sfeed tests and RSS and Atom files
git clone git://git.codemadness.org/sfeed_tests
Log
Files
Refs
README
LICENSE
---
atlas.engineer.atom.xml (200408B)
---
1 <?xml version="1.0" encoding="UTF-8"?><feed xmlns="http://www.w3.org/200…
2 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
3 &lt;head&gt;
4 &lt;meta charset=&quot;utf-8&quot; /&gt;
5 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
6 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
7 &lt;title&gt;Nyxt 2 Pre-release 3&lt;/title&gt;
8 &lt;style type=&quot;text/css&quot;&gt;
9 code{white-space: pre-wrap;}
10 span.smallcaps{font-variant: small-caps;}
11 span.underline{text-decoration: underline;}
12 div.column{display: inline-block; vertical-align: top; width: 50%;}
13 &lt;/style&gt;
14 &lt;!--[if lt IE 9]&gt;
15 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
16 &lt;![endif]--&gt;
17 &lt;/head&gt;
18 &lt;body&gt;
19 &lt;header&gt;
20 &lt;h1 class=&quot;title&quot;&gt;Nyxt 2 Pre-release 3&lt;/h1&gt;
21 &lt;/header&gt;
22 &lt;p&gt;We are happy to announce the third pre-release of Nyxt version …
23 &lt;p&gt;Nyxt 2 is a massive overhaul of the Nyxt 1 series. A lot of eff…
24 &lt;p&gt;This is a test release for everyone to try out before the final…
25 &lt;p&gt;Notable highlights:&lt;/p&gt;
26 &lt;ul&gt;
27 &lt;li&gt;&lt;p&gt;New &lt;code&gt;import-bookmarks-from-html&lt;/code&g…
28 &lt;li&gt;&lt;p&gt;New &lt;code&gt;reduce-tracking-mode&lt;/code&gt;. Re…
29 &lt;li&gt;&lt;p&gt;New &lt;code&gt;reduce-to-buffer&lt;/code&gt; command…
30 &lt;li&gt;&lt;p&gt;New &lt;code&gt;toggle-toolbars&lt;/code&gt; command …
31 &lt;li&gt;&lt;p&gt;New &lt;code&gt;execute-extended-command&lt;/code&gt;…
32 &lt;li&gt;&lt;p&gt;&lt;code&gt;download-hint-url&lt;/code&gt; now suppor…
33 &lt;li&gt;&lt;p&gt;Quicklisp-based Lisp package manager. See the &lt;cod…
34 &lt;li&gt;&lt;p&gt;New &lt;code&gt;input-edit-mode&lt;/code&gt;. You can…
35 &lt;li&gt;&lt;p&gt;Added many bookmarklets (Javascripts utilities):&lt;/…
36 &lt;ul&gt;
37 &lt;li&gt;&lt;p&gt;color-internal-external-links&lt;/p&gt;&lt;/li&gt;
38 &lt;li&gt;&lt;p&gt;urls-as-link-text&lt;/p&gt;&lt;/li&gt;
39 &lt;li&gt;&lt;p&gt;hide-visited-urls&lt;/p&gt;&lt;/li&gt;
40 &lt;li&gt;&lt;p&gt;toggle-checkboxes&lt;/p&gt;&lt;/li&gt;
41 &lt;li&gt;&lt;p&gt;view-password-field-contents&lt;/p&gt;&lt;/li&gt;
42 &lt;li&gt;&lt;p&gt;show-hidden-form-elements&lt;/p&gt;&lt;/li&gt;
43 &lt;li&gt;&lt;p&gt;enlarge-textareas&lt;/p&gt;&lt;/li&gt;
44 &lt;li&gt;&lt;p&gt;show-textbox-character-count&lt;/p&gt;&lt;/li&gt;
45 &lt;li&gt;&lt;p&gt;highlight-regexp&lt;/p&gt;&lt;/li&gt;
46 &lt;li&gt;&lt;p&gt;zoom-images-in&lt;/p&gt;&lt;/li&gt;
47 &lt;li&gt;&lt;p&gt;zoom-images-out&lt;/p&gt;&lt;/li&gt;
48 &lt;li&gt;&lt;p&gt;sort-table&lt;/p&gt;&lt;/li&gt;
49 &lt;li&gt;&lt;p&gt;number-table-rows&lt;/p&gt;&lt;/li&gt;
50 &lt;li&gt;&lt;p&gt;number-lines&lt;/p&gt;&lt;/li&gt;
51 &lt;li&gt;&lt;p&gt;transpose-tables&lt;/p&gt;&lt;/li&gt;
52 &lt;li&gt;&lt;p&gt;remove-color&lt;/p&gt;&lt;/li&gt;
53 &lt;li&gt;&lt;p&gt;remove-images&lt;/p&gt;&lt;/li&gt;
54 &lt;li&gt;&lt;p&gt;hue-shift-positive&lt;/p&gt;&lt;/li&gt;
55 &lt;li&gt;&lt;p&gt;hue-shift-negative&lt;/p&gt;&lt;/li&gt;
56 &lt;li&gt;&lt;p&gt;increase-brightness&lt;/p&gt;&lt;/li&gt;
57 &lt;li&gt;&lt;p&gt;decrease-brightness&lt;/p&gt;&lt;/li&gt;
58 &lt;li&gt;&lt;p&gt;invert-color&lt;/p&gt;&lt;/li&gt;
59 &lt;/ul&gt;&lt;/li&gt;
60 &lt;/ul&gt;
61 &lt;p&gt;For the complete change list, please consult the &lt;a href=&qu…
62 &lt;p&gt;We hope you enjoy these new features, and that they help make y…
63 &lt;h1 id=&quot;screenshots&quot;&gt;Screenshots&lt;/h1&gt;
64 &lt;h2 id=&quot;reduce-to-buffer&quot;&gt;Reduce to Buffer&lt;/h2&gt;
65 &lt;p&gt;&lt;img src=&quot;../static/image/article/reduce-to-buffer-sele…
66 &lt;p&gt;&lt;img src=&quot;../static/image/article/reduced-buffers.png&q…
67 &lt;h2 id=&quot;bookmarklet-demonstration&quot;&gt;Bookmarklet Demonstra…
68 &lt;p&gt;Below is a demonstration of a coloring internal / external link…
69 &lt;p&gt;&lt;img src=&quot;../static/image/article/color-internal-extern…
70 &lt;h2 id=&quot;load-system&quot;&gt;Load System&lt;/h2&gt;
71 &lt;p&gt;Quicklisp is neatly integrated into Nyxt allowing you to load a…
72 &lt;p&gt;&lt;img src=&quot;../static/image/article/load-system.png&quot;…
73 &lt;/body&gt;
74 &lt;/html&gt;
75 </content></entry><entry><id>urn:uuid:247f6507-f4eb-3728-a1ca-df77e2bb82…
76 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
77 &lt;head&gt;
78 &lt;meta charset=&quot;utf-8&quot; /&gt;
79 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
80 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
81 &lt;title&gt;Bookmarklets for better browsing&lt;/title&gt;
82 &lt;style type=&quot;text/css&quot;&gt;
83 code{white-space: pre-wrap;}
84 span.smallcaps{font-variant: small-caps;}
85 span.underline{text-decoration: underline;}
86 div.column{display: inline-block; vertical-align: top; width: 50%;}
87 &lt;/style&gt;
88 &lt;style type=&quot;text/css&quot;&gt;
89 a.sourceLine { display: inline-block; line-height: 1.25; }
90 a.sourceLine { pointer-events: none; color: inherit; text-decoration: in…
91 a.sourceLine:empty { height: 1.2em; position: absolute; }
92 .sourceCode { overflow: visible; }
93 code.sourceCode { white-space: pre; position: relative; }
94 div.sourceCode { margin: 1em 0; }
95 pre.sourceCode { margin: 0; }
96 @media screen {
97 div.sourceCode { overflow: auto; }
98 }
99 @media print {
100 code.sourceCode { white-space: pre-wrap; }
101 a.sourceLine { text-indent: -1em; padding-left: 1em; }
102 }
103 pre.numberSource a.sourceLine
104 { position: relative; }
105 pre.numberSource a.sourceLine:empty
106 { position: absolute; }
107 pre.numberSource a.sourceLine::before
108 { content: attr(data-line-number);
109 position: absolute; left: -5em; text-align: right; vertical-align: b…
110 border: none; pointer-events: all;
111 -webkit-touch-callout: none; -webkit-user-select: none;
112 -khtml-user-select: none; -moz-user-select: none;
113 -ms-user-select: none; user-select: none;
114 padding: 0 4px; width: 4em;
115 color: #aaaaaa;
116 }
117 pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; pa…
118 div.sourceCode
119 { }
120 @media screen {
121 a.sourceLine::before { text-decoration: underline; }
122 }
123 code span.al { color: #ff0000; font-weight: bold; } /* Alert */
124 code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } …
125 code span.at { color: #7d9029; } /* Attribute */
126 code span.bn { color: #40a070; } /* BaseN */
127 code span.bu { } /* BuiltIn */
128 code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
129 code span.ch { color: #4070a0; } /* Char */
130 code span.cn { color: #880000; } /* Constant */
131 code span.co { color: #60a0b0; font-style: italic; } /* Comment */
132 code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } …
133 code span.do { color: #ba2121; font-style: italic; } /* Documentation */
134 code span.dt { color: #902000; } /* DataType */
135 code span.dv { color: #40a070; } /* DecVal */
136 code span.er { color: #ff0000; font-weight: bold; } /* Error */
137 code span.ex { } /* Extension */
138 code span.fl { color: #40a070; } /* Float */
139 code span.fu { color: #06287e; } /* Function */
140 code span.im { } /* Import */
141 code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } …
142 code span.kw { color: #007020; font-weight: bold; } /* Keyword */
143 code span.op { color: #666666; } /* Operator */
144 code span.ot { color: #007020; } /* Other */
145 code span.pp { color: #bc7a00; } /* Preprocessor */
146 code span.sc { color: #4070a0; } /* SpecialChar */
147 code span.ss { color: #bb6688; } /* SpecialString */
148 code span.st { color: #4070a0; } /* String */
149 code span.va { color: #19177c; } /* Variable */
150 code span.vs { color: #4070a0; } /* VerbatimString */
151 code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } …
152 &lt;/style&gt;
153 &lt;!--[if lt IE 9]&gt;
154 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
155 &lt;![endif]--&gt;
156 &lt;/head&gt;
157 &lt;body&gt;
158 &lt;header&gt;
159 &lt;h1 class=&quot;title&quot;&gt;Bookmarklets for better browsing&lt;/h…
160 &lt;/header&gt;
161 &lt;p&gt;Bookmarklets are a feature in Nyxt that allow you to quickly cr…
162 &lt;p&gt;Wikipedia provides a succinct introduction and historical conte…
163 &lt;blockquote&gt;
164 &lt;p&gt;A bookmarklet is a bookmark stored in a web browser that contai…
165 &lt;/blockquote&gt;
166 &lt;p&gt;Unlike in typical browsers, bookmarklets are not second-class c…
167 &lt;ul&gt;
168 &lt;li&gt;bind snippets of JavaScript to a hotkey&lt;/li&gt;
169 &lt;li&gt;chain JavaScript snippets in your workflows/command invokation…
170 &lt;li&gt;save snippets of JavaScript for later use&lt;/li&gt;
171 &lt;/ul&gt;
172 &lt;p&gt;Defining bookmarklets in Nyxt is straightforward:&lt;/p&gt;
173 &lt;div class=&quot;sourceCode&quot; id=&quot;bookmarklet example&quot; …
174 &lt;a class=&quot;sourceLine&quot; id=&quot;bookmarklet example-2&quot; …
175 &lt;a class=&quot;sourceLine&quot; id=&quot;bookmarklet example-3&quot; …
176 &lt;p&gt;You provide:&lt;/p&gt;
177 &lt;ol&gt;
178 &lt;li&gt;A name for your bookmarklet, this corresponds to its function/…
179 &lt;li&gt;A documentation string describing what the bookmarklet does&lt…
180 &lt;li&gt;Any JavaScript code you would like to run&lt;/li&gt;
181 &lt;/ol&gt;
182 &lt;p&gt;… and that&#039;s it!&lt;/p&gt;
183 &lt;p&gt;We&#039;ve included a collection of Bookmarklets we think would…
184 &lt;ul&gt;
185 &lt;li&gt;&lt;code&gt;color-internal-external-links&lt;/code&gt;: Color …
186 &lt;li&gt;&lt;code&gt;urls-as-link-text&lt;/code&gt;: Changes the text o…
187 &lt;li&gt;&lt;code&gt;hide-visited-urls&lt;/code&gt;: Hide visited URLs.…
188 &lt;li&gt;&lt;code&gt;toggle-checkboxes&lt;/code&gt;: Toggle all checkbo…
189 &lt;li&gt;&lt;code&gt;view-password-field-contents&lt;/code&gt;: View pa…
190 &lt;li&gt;&lt;code&gt;show-hidden-form-elements&lt;/code&gt;: Show hidde…
191 &lt;li&gt;&lt;code&gt;enlarge-textareas&lt;/code&gt;: Increase height of…
192 &lt;li&gt;&lt;code&gt;show-textbox-character-count&lt;/code&gt;: Display…
193 &lt;li&gt;&lt;code&gt;highlight-regexp&lt;/code&gt;: Highlights each mat…
194 &lt;li&gt;&lt;code&gt;zoom-images-in&lt;/code&gt;: Zoom images in.&lt;/l…
195 &lt;li&gt;&lt;code&gt;zoom-images-out&lt;/code&gt;: Zoom images out.&lt;…
196 &lt;li&gt;&lt;code&gt;sort-table&lt;/code&gt;: Sort a table alphabetical…
197 &lt;li&gt;&lt;code&gt;number-table-rows&lt;/code&gt;: Add numbers to tab…
198 &lt;li&gt;&lt;code&gt;number-lines&lt;/code&gt;: Numberlines in plaintex…
199 &lt;li&gt;&lt;code&gt;transpose-tables&lt;/code&gt;: Transpose all table…
200 &lt;li&gt;&lt;code&gt;remove-color&lt;/code&gt;: Remove color from web p…
201 &lt;li&gt;&lt;code&gt;remove-images&lt;/code&gt;: Remove images from web…
202 &lt;li&gt;&lt;code&gt;hue-shift-positive&lt;/code&gt;: Shift the colors …
203 &lt;li&gt;&lt;code&gt;hue-shift-negative&lt;/code&gt;: Shift the colors …
204 &lt;li&gt;&lt;code&gt;increase-brightness&lt;/code&gt;: Increase the bri…
205 &lt;li&gt;&lt;code&gt;decrease-brightness&lt;/code&gt;: Decrease the bri…
206 &lt;li&gt;&lt;code&gt;invert-color&lt;/code&gt;: Invert the color of the…
207 &lt;/ul&gt;
208 &lt;p&gt;The currently provided bookmarklets were sourced from &lt;a hre…
209 &lt;p&gt;A great illustration of how useful bookmarklets can be is shown…
210 &lt;p&gt;&lt;img src=&quot;../static/image/article/sort-table-before.png…
211 &lt;p&gt;After executing our &lt;code&gt;sort-table&lt;/code&gt; bookmar…
212 &lt;p&gt;&lt;img src=&quot;../static/image/article/sort-table-after.png&…
213 &lt;p&gt;We were then able to click and sort by &amp;quot;Scientific Nam…
214 &lt;p&gt;We hope you enjoy using these bookmarklets and find many more t…
215 &lt;p&gt;Thanks for reading :-)&lt;/p&gt;
216 &lt;/body&gt;
217 &lt;/html&gt;
218 </content></entry><entry><id>urn:uuid:6780ffb8-9047-310a-9441-50c296c7e6…
219 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
220 &lt;head&gt;
221 &lt;meta charset=&quot;utf-8&quot; /&gt;
222 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
223 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
224 &lt;title&gt;Class-based, functional configuration&lt;/title&gt;
225 &lt;style type=&quot;text/css&quot;&gt;
226 code{white-space: pre-wrap;}
227 span.smallcaps{font-variant: small-caps;}
228 span.underline{text-decoration: underline;}
229 div.column{display: inline-block; vertical-align: top; width: 50%;}
230 &lt;/style&gt;
231 &lt;style type=&quot;text/css&quot;&gt;
232 a.sourceLine { display: inline-block; line-height: 1.25; }
233 a.sourceLine { pointer-events: none; color: inherit; text-decoration: in…
234 a.sourceLine:empty { height: 1.2em; position: absolute; }
235 .sourceCode { overflow: visible; }
236 code.sourceCode { white-space: pre; position: relative; }
237 div.sourceCode { margin: 1em 0; }
238 pre.sourceCode { margin: 0; }
239 @media screen {
240 div.sourceCode { overflow: auto; }
241 }
242 @media print {
243 code.sourceCode { white-space: pre-wrap; }
244 a.sourceLine { text-indent: -1em; padding-left: 1em; }
245 }
246 pre.numberSource a.sourceLine
247 { position: relative; }
248 pre.numberSource a.sourceLine:empty
249 { position: absolute; }
250 pre.numberSource a.sourceLine::before
251 { content: attr(data-line-number);
252 position: absolute; left: -5em; text-align: right; vertical-align: b…
253 border: none; pointer-events: all;
254 -webkit-touch-callout: none; -webkit-user-select: none;
255 -khtml-user-select: none; -moz-user-select: none;
256 -ms-user-select: none; user-select: none;
257 padding: 0 4px; width: 4em;
258 color: #aaaaaa;
259 }
260 pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; pa…
261 div.sourceCode
262 { }
263 @media screen {
264 a.sourceLine::before { text-decoration: underline; }
265 }
266 code span.al { color: #ff0000; font-weight: bold; } /* Alert */
267 code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } …
268 code span.at { color: #7d9029; } /* Attribute */
269 code span.bn { color: #40a070; } /* BaseN */
270 code span.bu { } /* BuiltIn */
271 code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
272 code span.ch { color: #4070a0; } /* Char */
273 code span.cn { color: #880000; } /* Constant */
274 code span.co { color: #60a0b0; font-style: italic; } /* Comment */
275 code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } …
276 code span.do { color: #ba2121; font-style: italic; } /* Documentation */
277 code span.dt { color: #902000; } /* DataType */
278 code span.dv { color: #40a070; } /* DecVal */
279 code span.er { color: #ff0000; font-weight: bold; } /* Error */
280 code span.ex { } /* Extension */
281 code span.fl { color: #40a070; } /* Float */
282 code span.fu { color: #06287e; } /* Function */
283 code span.im { } /* Import */
284 code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } …
285 code span.kw { color: #007020; font-weight: bold; } /* Keyword */
286 code span.op { color: #666666; } /* Operator */
287 code span.ot { color: #007020; } /* Other */
288 code span.pp { color: #bc7a00; } /* Preprocessor */
289 code span.sc { color: #4070a0; } /* SpecialChar */
290 code span.ss { color: #bb6688; } /* SpecialString */
291 code span.st { color: #4070a0; } /* String */
292 code span.va { color: #19177c; } /* Variable */
293 code span.vs { color: #4070a0; } /* VerbatimString */
294 code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } …
295 &lt;/style&gt;
296 &lt;!--[if lt IE 9]&gt;
297 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
298 &lt;![endif]--&gt;
299 &lt;/head&gt;
300 &lt;body&gt;
301 &lt;header&gt;
302 &lt;h1 class=&quot;title&quot;&gt;Class-based, functional configuration&…
303 &lt;/header&gt;
304 &lt;p&gt;One of the strongest assets of Nyxt is its configurability: any…
305 &lt;p&gt;While technically possible, it proved practically difficult to …
306 &lt;h1 id=&quot;case-study-emacs&quot;&gt;Case study: Emacs&lt;/h1&gt;
307 &lt;p&gt;The &lt;a href=&quot;https://www.gnu.org/software/emacs/&quot;&…
308 &lt;p&gt;Nyxt draws much from Emacs when it comes to extensibility, name…
309 &lt;p&gt;When Emacs was designed in the 1980s, it&#039;s likely that the…
310 &lt;p&gt;It isn&#039;t all perfect though. Emacs customizability comes w…
311 &lt;p&gt;A frequent source of Emacs bankruptcy is inherent to its archit…
312 &lt;h1 id=&quot;what-we-need&quot;&gt;What we need&lt;/h1&gt;
313 &lt;p&gt;With Nyxt, we envision the growth of a community and, hopefully…
314 &lt;p&gt;Starting from a configurability similar to Emacs (also using a …
315 &lt;ul&gt;
316 &lt;li&gt;&lt;p&gt;All configurable original values should be accessible…
317 &lt;li&gt;&lt;p&gt;Default values should be configurable at any time (fr…
318 &lt;li&gt;&lt;p&gt;Third-party packages should be able to offer customiz…
319 &lt;li&gt;&lt;p&gt;Any option or set of options should be reversible to …
320 &lt;li&gt;&lt;p&gt;Sets of options should be composable. In particular, …
321 &lt;/ul&gt;
322 &lt;h1 id=&quot;initial-attempts&quot;&gt;Initial attempts&lt;/h1&gt;
323 &lt;p&gt;Common Lisp comes with a very powerful object-orientated system…
324 &lt;p&gt;Almost all the data in Nyxt is structured into classes. Thus, c…
325 &lt;p&gt;The first obvious strategy that comes to mind is to make the sl…
326 &lt;div class=&quot;sourceCode&quot; id=&quot;cb1&quot; data-org-languag…
327 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-2&quot; data-line-number…
328 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-3&quot; data-line-number…
329 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-4&quot; data-line-number…
330 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-5&quot; data-line-number…
331 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-6&quot; data-line-number…
332 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-7&quot; data-line-number…
333 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-8&quot; data-line-number…
334 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-9&quot; data-line-number…
335 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-10&quot; data-line-numbe…
336 &lt;p&gt;The drawbacks are obvious:&lt;/p&gt;
337 &lt;ul&gt;
338 &lt;li&gt;We need as many &amp;quot;default&amp;quot; variables as we ha…
339 &lt;li&gt;Being globals, replacing them means altering the global state,…
340 &lt;li&gt;Changes to variables are irreversible: there is no way to acce…
341 &lt;/ul&gt;
342 &lt;p&gt;This approach is not sustainable. We need a better way. In part…
343 &lt;p&gt;CLOS is complex and powerful. Some parts are left unspecified. …
344 &lt;ol&gt;
345 &lt;li&gt;&lt;p&gt;We first tried to set the slot default value directly…
346 &lt;li&gt;&lt;p&gt;We tried to replace the class definition directly, fo…
347 &lt;div class=&quot;sourceCode&quot; id=&quot;cb2&quot; data-org-languag…
348 &lt;p&gt;This hack works as long as there is no inheritance. The new def…
349 &lt;li&gt;&lt;p&gt;Use &lt;code&gt;closer-mop:ensure-class&lt;/code&gt; …
350 &lt;div class=&quot;sourceCode&quot; id=&quot;cb3&quot; data-org-languag…
351 &lt;a class=&quot;sourceLine&quot; id=&quot;cb3-2&quot; data-line-number…
352 &lt;p&gt;it would define a new &lt;code&gt;buffer&lt;/code&gt; class wit…
353 &lt;/ol&gt;
354 &lt;h1 id=&quot;class-composition&quot;&gt;Class composition&lt;/h1&gt;
355 &lt;p&gt;In computer science, it can be considered good practice to use …
356 &lt;div class=&quot;sourceCode&quot; id=&quot;cb4&quot; data-org-languag…
357 &lt;a class=&quot;sourceLine&quot; id=&quot;cb4-2&quot; data-line-number…
358 &lt;a class=&quot;sourceLine&quot; id=&quot;cb4-3&quot; data-line-number…
359 &lt;a class=&quot;sourceLine&quot; id=&quot;cb4-4&quot; data-line-number…
360 &lt;a class=&quot;sourceLine&quot; id=&quot;cb4-5&quot; data-line-number…
361 &lt;a class=&quot;sourceLine&quot; id=&quot;cb4-6&quot; data-line-number…
362 &lt;p&gt;Whenever we want to instantiate a buffer, we call&lt;/p&gt;
363 &lt;div class=&quot;sourceCode&quot; id=&quot;cb5&quot; data-org-languag…
364 &lt;p&gt;Why is this interesting? Because now you can safely redefine th…
365 &lt;div class=&quot;sourceCode&quot; id=&quot;cb6&quot; data-org-languag…
366 &lt;a class=&quot;sourceLine&quot; id=&quot;cb6-2&quot; data-line-number…
367 &lt;a class=&quot;sourceLine&quot; id=&quot;cb6-3&quot; data-line-number…
368 &lt;a class=&quot;sourceLine&quot; id=&quot;cb6-4&quot; data-line-number…
369 &lt;p&gt;Our user-buffer override now inherits from &lt;code&gt;my-buffe…
370 &lt;p&gt;This resolves our problem statement: no globals (beside &lt;cod…
371 &lt;p&gt;Even though the syntax is relatively light, we offer the &lt;co…
372 &lt;div class=&quot;sourceCode&quot; id=&quot;cb7&quot; data-org-languag…
373 &lt;a class=&quot;sourceLine&quot; id=&quot;cb7-2&quot; data-line-number…
374 &lt;a class=&quot;sourceLine&quot; id=&quot;cb7-3&quot; data-line-number…
375 &lt;a class=&quot;sourceLine&quot; id=&quot;cb7-4&quot; data-line-number…
376 &lt;p&gt;This macro comes with some benefits:&lt;/p&gt;
377 &lt;ul&gt;
378 &lt;li&gt;&lt;p&gt;It&#039;s shorter and easier to write, the user class…
379 &lt;li&gt;&lt;p&gt;It displays a warning when the slot name is unknown, …
380 &lt;li&gt;&lt;p&gt;It binds &lt;code&gt;%slot-default&lt;/code&gt; to th…
381 &lt;/ul&gt;
382 &lt;h1 id=&quot;conclusions-and-thoughts&quot;&gt;Conclusions and though…
383 &lt;p&gt;Our approach is both powerful and flexible. The user has the ab…
384 &lt;p&gt;We would like to encourage other programs and programmers to em…
385 &lt;p&gt;A tool that works for the 80% is great when you are doing commo…
386 &lt;p&gt;Thanks for reading :-)&lt;/p&gt;
387 &lt;/body&gt;
388 &lt;/html&gt;
389 </content></entry><entry><id>urn:uuid:1860537e-3dde-31ba-9488-05c1280415…
390 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
391 &lt;head&gt;
392 &lt;meta charset=&quot;utf-8&quot; /&gt;
393 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
394 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
395 &lt;title&gt;Nyxt 2 Pre-release 2&lt;/title&gt;
396 &lt;style type=&quot;text/css&quot;&gt;
397 code{white-space: pre-wrap;}
398 span.smallcaps{font-variant: small-caps;}
399 span.underline{text-decoration: underline;}
400 div.column{display: inline-block; vertical-align: top; width: 50%;}
401 &lt;/style&gt;
402 &lt;!--[if lt IE 9]&gt;
403 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
404 &lt;![endif]--&gt;
405 &lt;/head&gt;
406 &lt;body&gt;
407 &lt;header&gt;
408 &lt;h1 class=&quot;title&quot;&gt;Nyxt 2 Pre-release 2&lt;/h1&gt;
409 &lt;/header&gt;
410 &lt;p&gt;We are happy to announce the second pre-release of Nyxt version…
411 &lt;p&gt;Nyxt 2 is a massive overhaul of the Nyxt 1 series. A lot of eff…
412 &lt;p&gt;This is a test release for everyone to try out before the final…
413 &lt;p&gt;Notable highlights:&lt;/p&gt;
414 &lt;ul&gt;
415 &lt;li&gt;&lt;p&gt;New startup page.&lt;/p&gt;&lt;/li&gt;
416 &lt;li&gt;&lt;p&gt;New &amp;quot;common settings&amp;quot; page. A butto…
417 &lt;li&gt;&lt;p&gt;New &lt;code&gt;nosound-mode&lt;/code&gt; to mute ind…
418 &lt;li&gt;&lt;p&gt;New &lt;code&gt;search-selection&lt;/code&gt; command…
419 &lt;p&gt;It allows to query the highlighted text with a given search eng…
420 &lt;li&gt;&lt;p&gt;Puny-encoded URLs are now human-readable.&lt;/p&gt;&l…
421 &lt;li&gt;&lt;p&gt;The &lt;code&gt;M-i&lt;/code&gt; binding toggles the …
422 &lt;li&gt;&lt;p&gt;New session dumping commands, namely &lt;code&gt;stor…
423 &lt;/ul&gt;
424 &lt;p&gt;For the complete change list, please consult the &lt;a href=&qu…
425 &lt;p&gt;We hope you enjoy these new features, and that they help make y…
426 &lt;h1 id=&quot;screenshots&quot;&gt;Screenshots&lt;/h1&gt;
427 &lt;h2 id=&quot;new-startup-page&quot;&gt;New startup page&lt;/h2&gt;
428 &lt;p&gt;&lt;img src=&quot;../static/image/article/help-page.png&quot; /…
429 &lt;h2 id=&quot;new-graphical-settings-page&quot;&gt;New graphical setti…
430 &lt;p&gt;&lt;img src=&quot;../static/image/article/common-settings.png&q…
431 &lt;/body&gt;
432 &lt;/html&gt;
433 </content></entry><entry><id>urn:uuid:1be4caf5-78dc-39a6-b342-431bc5ce47…
434 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
435 &lt;head&gt;
436 &lt;meta charset=&quot;utf-8&quot; /&gt;
437 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
438 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
439 &lt;title&gt;Common Settings and Easy Configuration&lt;/title&gt;
440 &lt;style type=&quot;text/css&quot;&gt;
441 code{white-space: pre-wrap;}
442 span.smallcaps{font-variant: small-caps;}
443 span.underline{text-decoration: underline;}
444 div.column{display: inline-block; vertical-align: top; width: 50%;}
445 &lt;/style&gt;
446 &lt;style type=&quot;text/css&quot;&gt;
447 a.sourceLine { display: inline-block; line-height: 1.25; }
448 a.sourceLine { pointer-events: none; color: inherit; text-decoration: in…
449 a.sourceLine:empty { height: 1.2em; position: absolute; }
450 .sourceCode { overflow: visible; }
451 code.sourceCode { white-space: pre; position: relative; }
452 div.sourceCode { margin: 1em 0; }
453 pre.sourceCode { margin: 0; }
454 @media screen {
455 div.sourceCode { overflow: auto; }
456 }
457 @media print {
458 code.sourceCode { white-space: pre-wrap; }
459 a.sourceLine { text-indent: -1em; padding-left: 1em; }
460 }
461 pre.numberSource a.sourceLine
462 { position: relative; }
463 pre.numberSource a.sourceLine:empty
464 { position: absolute; }
465 pre.numberSource a.sourceLine::before
466 { content: attr(data-line-number);
467 position: absolute; left: -5em; text-align: right; vertical-align: b…
468 border: none; pointer-events: all;
469 -webkit-touch-callout: none; -webkit-user-select: none;
470 -khtml-user-select: none; -moz-user-select: none;
471 -ms-user-select: none; user-select: none;
472 padding: 0 4px; width: 4em;
473 color: #aaaaaa;
474 }
475 pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; pa…
476 div.sourceCode
477 { }
478 @media screen {
479 a.sourceLine::before { text-decoration: underline; }
480 }
481 code span.al { color: #ff0000; font-weight: bold; } /* Alert */
482 code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } …
483 code span.at { color: #7d9029; } /* Attribute */
484 code span.bn { color: #40a070; } /* BaseN */
485 code span.bu { } /* BuiltIn */
486 code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
487 code span.ch { color: #4070a0; } /* Char */
488 code span.cn { color: #880000; } /* Constant */
489 code span.co { color: #60a0b0; font-style: italic; } /* Comment */
490 code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } …
491 code span.do { color: #ba2121; font-style: italic; } /* Documentation */
492 code span.dt { color: #902000; } /* DataType */
493 code span.dv { color: #40a070; } /* DecVal */
494 code span.er { color: #ff0000; font-weight: bold; } /* Error */
495 code span.ex { } /* Extension */
496 code span.fl { color: #40a070; } /* Float */
497 code span.fu { color: #06287e; } /* Function */
498 code span.im { } /* Import */
499 code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } …
500 code span.kw { color: #007020; font-weight: bold; } /* Keyword */
501 code span.op { color: #666666; } /* Operator */
502 code span.ot { color: #007020; } /* Other */
503 code span.pp { color: #bc7a00; } /* Preprocessor */
504 code span.sc { color: #4070a0; } /* SpecialChar */
505 code span.ss { color: #bb6688; } /* SpecialString */
506 code span.st { color: #4070a0; } /* String */
507 code span.va { color: #19177c; } /* Variable */
508 code span.vs { color: #4070a0; } /* VerbatimString */
509 code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } …
510 &lt;/style&gt;
511 &lt;!--[if lt IE 9]&gt;
512 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
513 &lt;![endif]--&gt;
514 &lt;/head&gt;
515 &lt;body&gt;
516 &lt;header&gt;
517 &lt;h1 class=&quot;title&quot;&gt;Common Settings and Easy Configuration…
518 &lt;/header&gt;
519 &lt;p&gt;Common settings and easy configuration recently landed in Nyxt!…
520 &lt;p&gt;When you first start Nyxt, our new &lt;code&gt;*help*&lt;/code&…
521 &lt;p&gt;&lt;img src=&quot;../static/image/article/help-page.png&quot; /…
522 &lt;p&gt;If you click on &lt;code&gt;Common settings&lt;/code&gt;, you&#…
523 &lt;p&gt;&lt;img src=&quot;../static/image/article/common-settings.png&q…
524 &lt;p&gt;Your settings will automatically be saved and reloaded whenever…
525 &lt;p&gt;Don&#039;t worry about overwriting changes to your &lt;code&gt;…
526 &lt;p&gt;Here&#039;s what would be appended to your &lt;code&gt;auto-con…
527 &lt;div class=&quot;sourceCode&quot; id=&quot;configuration&quot; data-o…
528 &lt;a class=&quot;sourceLine&quot; id=&quot;configuration-2&quot; data-l…
529 &lt;p&gt;No magic. Transparent, straightforward Lisp.&lt;/p&gt;
530 &lt;p&gt;Beyond customization of common settings, we&#039;ve added the a…
531 &lt;p&gt;Below you can see an example of how we can customize a class:&l…
532 &lt;p&gt;&lt;img src=&quot;../static/image/article/describe-class.png&qu…
533 &lt;p&gt;Every single slot marked with &lt;code&gt;Configure&lt;/code&gt…
534 &lt;p&gt;Let&#039;s run through an example: let&#039;s change the height…
535 &lt;p&gt;First you would find the slot that you are interested in, in th…
536 &lt;p&gt;&lt;img src=&quot;../static/image/article/describe-slot-status-…
537 &lt;p&gt;Then you would view the current value, the default form, and th…
538 &lt;p&gt;&lt;img src=&quot;../static/image/article/configure-slot-value.…
539 &lt;p&gt;After you supply your new value, any new windows (even after re…
540 &lt;p&gt;&lt;img src=&quot;../static/image/article/configure-result.png&…
541 &lt;p&gt;Please note: configuration changes only affect new instances of…
542 &lt;p&gt;Thanks for reading :-)&lt;/p&gt;
543 &lt;/body&gt;
544 &lt;/html&gt;
545 </content></entry><entry><id>urn:uuid:3066e4f1-b97c-3501-921d-88eb1c4107…
546 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
547 &lt;head&gt;
548 &lt;meta charset=&quot;utf-8&quot; /&gt;
549 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
550 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
551 &lt;title&gt;FOSDEM Presentation&lt;/title&gt;
552 &lt;style type=&quot;text/css&quot;&gt;
553 code{white-space: pre-wrap;}
554 span.smallcaps{font-variant: small-caps;}
555 span.underline{text-decoration: underline;}
556 div.column{display: inline-block; vertical-align: top; width: 50%;}
557 &lt;/style&gt;
558 &lt;!--[if lt IE 9]&gt;
559 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
560 &lt;![endif]--&gt;
561 &lt;/head&gt;
562 &lt;body&gt;
563 &lt;header&gt;
564 &lt;h1 class=&quot;title&quot;&gt;FOSDEM Presentation&lt;/h1&gt;
565 &lt;/header&gt;
566 &lt;p&gt;On February 2nd, 2020, we had the privilege of attending FOSDEM…
567 &lt;p&gt;Nyxt has progressed a lot since then, but we still find it very…
568 &lt;p&gt;&lt;a href=&quot;../static/video/fosdem-presentation.mp4&quot;&…
569 &lt;p&gt;To see the FOSDEM URL for this presentation please click here: …
570 &lt;/body&gt;
571 &lt;/html&gt;
572 </content></entry><entry><id>urn:uuid:fe2e6b09-ab2f-382f-ba00-49856422b9…
573 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
574 &lt;head&gt;
575 &lt;meta charset=&quot;utf-8&quot; /&gt;
576 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
577 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
578 &lt;meta name=&quot;author&quot; content=&quot;Artyom Bologov&quot; /&…
579 &lt;title&gt;auto-mode will take care of your VPN when you forget!&lt;…
580 &lt;style type=&quot;text/css&quot;&gt;
581 code{white-space: pre-wrap;}
582 span.smallcaps{font-variant: small-caps;}
583 span.underline{text-decoration: underline;}
584 div.column{display: inline-block; vertical-align: top; width: 50%;}
585 &lt;/style&gt;
586 &lt;style type=&quot;text/css&quot;&gt;
587 a.sourceLine { display: inline-block; line-height: 1.25; }
588 a.sourceLine { pointer-events: none; color: inherit; text-decoration: in…
589 a.sourceLine:empty { height: 1.2em; position: absolute; }
590 .sourceCode { overflow: visible; }
591 code.sourceCode { white-space: pre; position: relative; }
592 div.sourceCode { margin: 1em 0; }
593 pre.sourceCode { margin: 0; }
594 @media screen {
595 div.sourceCode { overflow: auto; }
596 }
597 @media print {
598 code.sourceCode { white-space: pre-wrap; }
599 a.sourceLine { text-indent: -1em; padding-left: 1em; }
600 }
601 pre.numberSource a.sourceLine
602 { position: relative; }
603 pre.numberSource a.sourceLine:empty
604 { position: absolute; }
605 pre.numberSource a.sourceLine::before
606 { content: attr(data-line-number);
607 position: absolute; left: -5em; text-align: right; vertical-align: b…
608 border: none; pointer-events: all;
609 -webkit-touch-callout: none; -webkit-user-select: none;
610 -khtml-user-select: none; -moz-user-select: none;
611 -ms-user-select: none; user-select: none;
612 padding: 0 4px; width: 4em;
613 color: #aaaaaa;
614 }
615 pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; pa…
616 div.sourceCode
617 { }
618 @media screen {
619 a.sourceLine::before { text-decoration: underline; }
620 }
621 code span.al { color: #ff0000; font-weight: bold; } /* Alert */
622 code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } …
623 code span.at { color: #7d9029; } /* Attribute */
624 code span.bn { color: #40a070; } /* BaseN */
625 code span.bu { } /* BuiltIn */
626 code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
627 code span.ch { color: #4070a0; } /* Char */
628 code span.cn { color: #880000; } /* Constant */
629 code span.co { color: #60a0b0; font-style: italic; } /* Comment */
630 code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } …
631 code span.do { color: #ba2121; font-style: italic; } /* Documentation */
632 code span.dt { color: #902000; } /* DataType */
633 code span.dv { color: #40a070; } /* DecVal */
634 code span.er { color: #ff0000; font-weight: bold; } /* Error */
635 code span.ex { } /* Extension */
636 code span.fl { color: #40a070; } /* Float */
637 code span.fu { color: #06287e; } /* Function */
638 code span.im { } /* Import */
639 code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } …
640 code span.kw { color: #007020; font-weight: bold; } /* Keyword */
641 code span.op { color: #666666; } /* Operator */
642 code span.ot { color: #007020; } /* Other */
643 code span.pp { color: #bc7a00; } /* Preprocessor */
644 code span.sc { color: #4070a0; } /* SpecialChar */
645 code span.ss { color: #bb6688; } /* SpecialString */
646 code span.st { color: #4070a0; } /* String */
647 code span.va { color: #19177c; } /* Variable */
648 code span.vs { color: #4070a0; } /* VerbatimString */
649 code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } …
650 &lt;/style&gt;
651 &lt;!--[if lt IE 9]&gt;
652 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
653 &lt;![endif]--&gt;
654 &lt;/head&gt;
655 &lt;body&gt;
656 &lt;header&gt;
657 &lt;h1 class=&quot;title&quot;&gt;auto-mode will take care of your VPN w…
658 &lt;p class=&quot;author&quot;&gt;Artyom Bologov&lt;/p&gt;
659 &lt;/header&gt;
660 &lt;p&gt;Your Internet privacy routine can be simple or complicated, rit…
661 &lt;p&gt;While browsers and extensions offer some options- like blocklis…
662 &lt;p&gt;That&#039;s where Nyxt&#039;s new &lt;code&gt;auto-mode&lt;/cod…
663 &lt;h1 id=&quot;how-to-use-it&quot;&gt;How to use it?&lt;/h1&gt;
664 &lt;p&gt;Just add &lt;code&gt;auto-mode&lt;/code&gt; to your buffer &lt;…
665 &lt;div class=&quot;sourceCode&quot; id=&quot;cb1&quot; data-org-languag…
666 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-2&quot; data-line-number…
667 &lt;p&gt;Now, if you navigate to a web page, enable &lt;code&gt;proxy-mo…
668 &lt;p&gt;If you get back to the page you saved &lt;code&gt;proxy-mode&lt…
669 &lt;h1 id=&quot;this-command-is-hard-to-type-is-there-an-alternative&quo…
670 &lt;p&gt;If you don&#039;t want to type in the long &lt;code&gt;save-non…
671 &lt;div class=&quot;sourceCode&quot; id=&quot;cb2&quot; data-org-languag…
672 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-2&quot; data-line-number…
673 &lt;p&gt;It&#039;s simple and convenient. Say, you open some web page an…
674 &lt;p&gt;&lt;img src=&quot;../static/image/article/auto-mode-permanent.p…
675 &lt;p&gt;If you answer &amp;quot;yes&amp;quot;, you&#039;ll be prompted …
676 &lt;h1 id=&quot;how-do-i-change-the-auto-mode-rules&quot;&gt;How do I ch…
677 &lt;p&gt;There are two ways:&lt;/p&gt;
678 &lt;ul&gt;
679 &lt;li&gt;you can browse your usual websites and use &lt;code&gt;auto-mo…
680 &lt;li&gt;you can edit the file that &lt;code&gt;auto-mode&lt;/code&gt; …
681 &lt;/ul&gt;
682 &lt;p&gt;The rules file is stored in &lt;code&gt;~/.local/share/nyxt/aut…
683 &lt;p&gt;When you open it, you&#039;ll be presented with a header explai…
684 &lt;ul&gt;
685 &lt;li&gt;Every rule is delimited by a newline.&lt;/li&gt;
686 &lt;li&gt;Rules can have test, &lt;code&gt;:excluded&lt;/code&gt; modes,…
687 &lt;ul&gt;
688 &lt;li&gt;Test is the first thing in the rule. It relies on &lt;code&gt;…
689 &lt;li&gt;&lt;code&gt;:included&lt;/code&gt; modes are the ones that wil…
690 &lt;li&gt;&lt;code&gt;:excluded&lt;/code&gt; modes will be always disabl…
691 &lt;li&gt;&lt;code&gt;:exact-p&lt;/code&gt; denotes whether you want &lt…
692 &lt;/ul&gt;&lt;/li&gt;
693 &lt;/ul&gt;
694 &lt;p&gt;That&#039;s almost everything you need to know to create new ru…
695 &lt;h1 id=&quot;what-about-other-uses-of-auto-mode&quot;&gt;What about o…
696 &lt;p&gt;Maybe you like &lt;code&gt;noscript-mode&lt;/code&gt; and &lt;c…
697 &lt;p&gt;&lt;code&gt;auto-mode&lt;/code&gt; is about toggling modes, so …
698 &lt;p&gt;Thanks for reading :-)&lt;/p&gt;
699 &lt;/body&gt;
700 &lt;/html&gt;
701 </content></entry><entry><id>urn:uuid:d452421c-46dd-3132-a2f3-89fa0a4633…
702 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
703 &lt;head&gt;
704 &lt;meta charset=&quot;utf-8&quot; /&gt;
705 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
706 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
707 &lt;title&gt;Nyxt 2 Pre-release 1&lt;/title&gt;
708 &lt;style type=&quot;text/css&quot;&gt;
709 code{white-space: pre-wrap;}
710 span.smallcaps{font-variant: small-caps;}
711 span.underline{text-decoration: underline;}
712 div.column{display: inline-block; vertical-align: top; width: 50%;}
713 &lt;/style&gt;
714 &lt;!--[if lt IE 9]&gt;
715 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
716 &lt;![endif]--&gt;
717 &lt;/head&gt;
718 &lt;body&gt;
719 &lt;header&gt;
720 &lt;h1 class=&quot;title&quot;&gt;Nyxt 2 Pre-release 1&lt;/h1&gt;
721 &lt;/header&gt;
722 &lt;p&gt;If the above title was confusing, don&#039;t worry, you&#039;re…
723 &lt;p&gt;Nyxt 2 is a massive overhaul of the Nyxt 1 series. A lot of eff…
724 &lt;p&gt;This is a test release for everyone to try out before the final…
725 &lt;p&gt;Notable highlights:&lt;/p&gt;
726 &lt;ul&gt;
727 &lt;li&gt;Use the new &lt;code&gt;auto-mode&lt;/code&gt; to automaticall…
728 &lt;li&gt;Use the new &lt;code&gt;autofill&lt;/code&gt; command to inser…
729 &lt;li&gt;Support for &lt;code&gt;data-profiles&lt;/code&gt;. Data profi…
730 &lt;li&gt;New &lt;code&gt;--script&lt;/code&gt; command line option that…
731 &lt;li&gt;New &lt;code&gt;lisp-repl&lt;/code&gt; command to evaluate Lis…
732 &lt;li&gt;Built-in &lt;code&gt;tutorial&lt;/code&gt; and &lt;code&gt;man…
733 &lt;li&gt;New documentation commands: &lt;code&gt;describe-function&lt;/…
734 &lt;li&gt;Improved macOS performance with support for Quartz renderer. N…
735 &lt;li&gt;No more D-Bus. We&#039;ve moved to direct web renderer binding…
736 &lt;li&gt;Built-in spell checker/suggestions.&lt;/li&gt;
737 &lt;/ul&gt;
738 &lt;p&gt;For the complete change list, please consult the &lt;a href=&qu…
739 &lt;p&gt;We hope you enjoy these new features, and that they help make y…
740 &lt;h1 id=&quot;screenshots&quot;&gt;Screenshots&lt;/h1&gt;
741 &lt;h2 id=&quot;autofills&quot;&gt;Autofills&lt;/h2&gt;
742 &lt;p&gt;Use Autofills to conveniently fill in data:&lt;/p&gt;
743 &lt;p&gt;&lt;img src=&quot;../static/image/animation/auto-fill.gif&quot;…
744 &lt;h2 id=&quot;clipboard-history&quot;&gt;Clipboard history&lt;/h2&gt;
745 &lt;p&gt;Remember all of your clipboard history:&lt;/p&gt;
746 &lt;p&gt;&lt;img src=&quot;../static/image/animation/paste-ring.gif&quot…
747 &lt;h2 id=&quot;intelligent-bookmark-search&quot;&gt;Intelligent bookmar…
748 &lt;p&gt;Use compound queries with &lt;code&gt;AND&lt;/code&gt; and &lt;…
749 &lt;p&gt;&lt;img src=&quot;../static/image/bookmark.png&quot; /&gt;&lt;/…
750 &lt;h2 id=&quot;built-in-repl&quot;&gt;Built-in REPL&lt;/h2&gt;
751 &lt;p&gt;Use the built-in REPL to program your browser on the fly.&lt;/p…
752 &lt;p&gt;&lt;img src=&quot;../static/image/animation/lisp-repl.gif&quot;…
753 &lt;h2 id=&quot;powerful-link-hinting&quot;&gt;Powerful link hinting&lt;…
754 &lt;p&gt;Use link hinting to quickly jump around. You can jump to a link…
755 &lt;p&gt;&lt;img src=&quot;../static/image/animation/link-hint.gif&quot;…
756 &lt;/body&gt;
757 &lt;/html&gt;
758 </content></entry><entry><id>urn:uuid:7c15c026-c66c-3fb8-9964-3c01564b55…
759 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
760 &lt;head&gt;
761 &lt;meta charset=&quot;utf-8&quot; /&gt;
762 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
763 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
764 &lt;title&gt;DebConf Presentation&lt;/title&gt;
765 &lt;style type=&quot;text/css&quot;&gt;
766 code{white-space: pre-wrap;}
767 span.smallcaps{font-variant: small-caps;}
768 span.underline{text-decoration: underline;}
769 div.column{display: inline-block; vertical-align: top; width: 50%;}
770 &lt;/style&gt;
771 &lt;!--[if lt IE 9]&gt;
772 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
773 &lt;![endif]--&gt;
774 &lt;/head&gt;
775 &lt;body&gt;
776 &lt;header&gt;
777 &lt;h1 class=&quot;title&quot;&gt;DebConf Presentation&lt;/h1&gt;
778 &lt;/header&gt;
779 &lt;p&gt;This year we got to participate in the virtual Debconf lightnin…
780 &lt;p&gt;&lt;a href=&quot;../static/video/debconf-compressed.mp4&quot;&g…
781 &lt;p&gt;Thanks for watching :-)&lt;/p&gt;
782 &lt;/body&gt;
783 &lt;/html&gt;
784 </content></entry><entry><id>urn:uuid:5c0223a5-454b-3675-b412-1ad387e845…
785 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
786 &lt;head&gt;
787 &lt;meta charset=&quot;utf-8&quot; /&gt;
788 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
789 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
790 &lt;title&gt;Nyxt release 1.3.3&lt;/title&gt;
791 &lt;style type=&quot;text/css&quot;&gt;
792 code{white-space: pre-wrap;}
793 span.smallcaps{font-variant: small-caps;}
794 span.underline{text-decoration: underline;}
795 div.column{display: inline-block; vertical-align: top; width: 50%;}
796 &lt;/style&gt;
797 &lt;!--[if lt IE 9]&gt;
798 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
799 &lt;![endif]--&gt;
800 &lt;/head&gt;
801 &lt;body&gt;
802 &lt;header&gt;
803 &lt;h1 class=&quot;title&quot;&gt;Nyxt release 1.3.3&lt;/h1&gt;
804 &lt;/header&gt;
805 &lt;p&gt;After another short but intense development cycle, we are happy…
806 &lt;p&gt;This version brings outstanding and unique features (again!). I…
807 &lt;h1 id=&quot;new-features&quot;&gt;New features&lt;/h1&gt;
808 &lt;h2 id=&quot;multiple-input-selection&quot;&gt;Multiple input selecti…
809 &lt;p&gt;Until now, Nyxt&#039;s prompt was able to ask the user for &lt;…
810 &lt;p&gt;The default bindings are:&lt;/p&gt;
811 &lt;ul&gt;
812 &lt;li&gt;&lt;p&gt;&lt;code&gt;C-SPACE&lt;/code&gt; to toggle the mark o…
813 &lt;li&gt;&lt;p&gt;&lt;code&gt;M-a&lt;/code&gt; to mark all visible entr…
814 &lt;li&gt;&lt;p&gt;&lt;code&gt;M-u&lt;/code&gt; to unmark all visible en…
815 &lt;/ul&gt;
816 &lt;p&gt;Furthermore, when the input is changed and the candidates are r…
817 &lt;p&gt;For example, if we have several Wikipedia and Stack Overflow pa…
818 &lt;ul&gt;
819 &lt;li&gt;&lt;p&gt;Press &lt;code&gt;C-x k&lt;/code&gt; (Emacs bindings)…
820 &lt;li&gt;&lt;p&gt;In the list of current buffers, type &amp;quot;wikip&…
821 &lt;li&gt;&lt;p&gt;Erase the input and filter with &lt;code&gt;stack&lt;…
822 &lt;li&gt;&lt;p&gt;Press &lt;code&gt;Enter&lt;/code&gt;.&lt;/p&gt;&lt;/l…
823 &lt;/ul&gt;
824 &lt;img src=&quot;/static/image/multiple-selection.gif&quot; align=&quot…
825 &lt;p&gt;How efficient is that!?&lt;/p&gt;
826 &lt;p&gt;Of course should you wish, you always have the possibility to w…
827 &lt;h2 id=&quot;bookmarks-tags-and-compound-queries&quot;&gt;Bookmarks, …
828 &lt;p&gt;Now with Nyxt, you can &lt;strong&gt;tag your bookmarks&lt;/str…
829 &lt;p&gt;When you bookmark a new page (&lt;code&gt;C-m s&lt;/code&gt; or…
830 bookmark-page&lt;/code&gt;), you are asked for a list of space-separated…
831 &lt;img src=&quot;/static/image/bookmark-sea-turtle.png&quot; align=&quo…
832 &lt;p&gt;When about to open a bookmark (&lt;code&gt;C-m o&lt;/code&gt;, …
833 &lt;p&gt;Examples:&lt;/p&gt;
834 &lt;pre class=&quot;example&quot;&gt;&lt;code&gt;+lisp -blog
835 +blog (or lisp emacs)
836 +foo -bar (or (and john doe) (not (and tic tac)))
837 &lt;/code&gt;&lt;/pre&gt;
838 &lt;p&gt;Additionally, the bookmarks are now &lt;strong&gt;saved in text…
839 &lt;h2 id=&quot;password-manager&quot;&gt;Password manager&lt;/h2&gt;
840 &lt;p&gt;Nyxt 1.3.3 provides a password manager interface to &lt;a href=…
841 &lt;p&gt;See the commands &lt;code&gt;save-new-password&lt;/code&gt; and…
842 &lt;p&gt;Credits go to Solomon Bloch (&lt;span class=&quot;citation&quot…
843 &lt;h2 id=&quot;session-persistence&quot;&gt;Session persistence&lt;/h2&…
844 &lt;p&gt;The user session is now automatically persisted. Close Nyxt, an…
845 &lt;p&gt;You can also quit without saving it with &lt;code&gt;M-x quit-a…
846 &lt;h2 id=&quot;clone-git-repositories&quot;&gt;Clone Git repositories&l…
847 &lt;p&gt;Nyxt 1.3.3 introduces the &lt;code&gt;vcs-clone&lt;/code&gt; (a…
848 &lt;p&gt;We see this new command as a simple preview of what is possible…
849 &lt;h2 id=&quot;download-videos&quot;&gt;Download videos&lt;/h2&gt;
850 &lt;p&gt;Another utility is the new &lt;code&gt;download-video&lt;/code&…
851 &lt;p&gt;After the download, you can open your video with the &lt;code&g…
852 &lt;p&gt;See the manual for more documentation and configuration options…
853 &lt;h2 id=&quot;reopen-closed-tabs&quot;&gt;Reopen closed tabs&lt;/h2&gt;
854 &lt;p&gt;The new command &lt;code&gt;reopen-buffer&lt;/code&gt; (bound t…
855 &lt;p&gt;Credits go to &lt;code&gt;4t0m&lt;/code&gt;.&lt;/p&gt;
856 &lt;h2 id=&quot;faster-and-improved-fuzzy-completion&quot;&gt;Faster and…
857 &lt;p&gt;Our minibuffer can now match against typos and has much improve…
858 &lt;p&gt;The rules are as follows:&lt;/p&gt;
859 &lt;ul&gt;
860 &lt;li&gt;&lt;p&gt;When any of the input strings does not match any cand…
861 &lt;li&gt;&lt;p&gt;When any of the input strings matches exactly&lt;/p&g…
862 &lt;/ul&gt;
863 &lt;p&gt;Example in &lt;code&gt;execute-command&lt;/code&gt; (&lt;code&g…
864 &lt;ul&gt;
865 &lt;li&gt;&lt;p&gt;&lt;code&gt;buffer&lt;/code&gt; would filter out all …
866 &lt;li&gt;&lt;p&gt;&lt;code&gt;swt buffer&lt;/code&gt; would do as above…
867 &lt;/ul&gt;
868 &lt;h2 id=&quot;view-the-buffer-history-as-a-tree&quot;&gt;View the buff…
869 &lt;p&gt;Early versions of Nyxt have supported tree based history. Howev…
870 &lt;p&gt;Nyxt 1.3.3 introduces the command &lt;code&gt;buffer-history-tr…
871 &lt;img src=&quot;/static/image/history-tree.png&quot; align=&quot;cente…
872 &lt;p&gt;The keys &lt;code&gt;C-b&lt;/code&gt; and &lt;code&gt;C-f&lt;/c…
873 &lt;p&gt;There is also &lt;code&gt;history-all-query&lt;/code&gt; (&lt;c…
874 &lt;h2 id=&quot;new-command-line-argument-no-init&quot;&gt;New command l…
875 &lt;p&gt;The command line argument &lt;code&gt;--no-init&lt;/code&gt; or…
876 &lt;h1 id=&quot;changes-in-configuration-settings-alias-functional-confi…
877 &lt;p&gt;A new style of configuration is available allowing for a &amp;q…
878 &lt;h1 id=&quot;whats-next&quot;&gt;What&#039;s next ?&lt;/h1&gt;
879 &lt;p&gt;We have a ton of ideas, as you certainly will the second you tr…
880 &lt;p&gt;&lt;a href=&quot;https://www.indiegogo.com/projects/next-browse…
881 &lt;p&gt;If you&#039;d like to become a sponsor, or if you need some hel…
882 &lt;p&gt;Find out more about Nyxt:&lt;/p&gt;
883 &lt;ul&gt;
884 &lt;li&gt;The &lt;a href=&quot;https://github.com/atlas-engineer/next/bl…
885 &lt;li&gt;Our &lt;a href=&quot;https://github.com/atlas-engineer/next/wi…
886 &lt;li&gt;Our &lt;a href=&quot;https://www.reddit.com/r/next_browser/&qu…
887 &lt;li&gt;#nyxt-browser on Freenode IRC.&lt;/li&gt;
888 &lt;/ul&gt;
889 &lt;/body&gt;
890 &lt;/html&gt;
891 </content></entry><entry><id>urn:uuid:a28b1781-1134-3bd4-9521-62518145d7…
892 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
893 &lt;head&gt;
894 &lt;meta charset=&quot;utf-8&quot; /&gt;
895 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
896 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
897 &lt;title&gt;Autofills&lt;/title&gt;
898 &lt;style type=&quot;text/css&quot;&gt;
899 code{white-space: pre-wrap;}
900 span.smallcaps{font-variant: small-caps;}
901 span.underline{text-decoration: underline;}
902 div.column{display: inline-block; vertical-align: top; width: 50%;}
903 &lt;/style&gt;
904 &lt;!--[if lt IE 9]&gt;
905 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
906 &lt;![endif]--&gt;
907 &lt;/head&gt;
908 &lt;body&gt;
909 &lt;header&gt;
910 &lt;h1 class=&quot;title&quot;&gt;Autofills&lt;/h1&gt;
911 &lt;/header&gt;
912 &lt;p&gt;Autofills are a feature in Nyxt that allow you to compose and f…
913 &lt;p&gt;&lt;img src=&quot;../static/image/article/typical-autofill.png&…
914 &lt;p&gt;In Nyxt, autofills are dynamic, and context sensitive. In addit…
915 &lt;p&gt;An example of a dynamic autofill can be a requirement to fill i…
916 &lt;p&gt;&lt;img src=&quot;../static/image/article/nyxt-autofill.png&quo…
917 &lt;p&gt;Beyond simple workflows of inputting a single element, autofill…
918 &lt;pre id=&quot;template&quot; class=&quot;language&quot;&gt;&lt;code&g…
919
920 We&amp;#39;ve received your information about problem X, and we are work…
921 a solution. We anticipate we&amp;#39;ll have more information for you by…
922 Y.
923
924 thank you for continued patience,
925
926 signed, Z
927 &lt;/code&gt;&lt;/pre&gt;
928 &lt;p&gt;Instead of writing this information out all the time, you could…
929 &lt;p&gt;To find out more about autofills and how to configure them in N…
930 &lt;p&gt;We hope you enjoy using Nyxt&#039;s autofills!&lt;/p&gt;
931 &lt;p&gt;Thanks for reading :-)&lt;/p&gt;
932 &lt;/body&gt;
933 &lt;/html&gt;
934 </content></entry><entry><id>urn:uuid:04aca7fd-0782-3bbc-ba3b-861032d80b…
935 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
936 &lt;head&gt;
937 &lt;meta charset=&quot;utf-8&quot; /&gt;
938 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
939 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
940 &lt;title&gt;Element Hints&lt;/title&gt;
941 &lt;style type=&quot;text/css&quot;&gt;
942 code{white-space: pre-wrap;}
943 span.smallcaps{font-variant: small-caps;}
944 span.underline{text-decoration: underline;}
945 div.column{display: inline-block; vertical-align: top; width: 50%;}
946 &lt;/style&gt;
947 &lt;!--[if lt IE 9]&gt;
948 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
949 &lt;![endif]--&gt;
950 &lt;/head&gt;
951 &lt;body&gt;
952 &lt;header&gt;
953 &lt;h1 class=&quot;title&quot;&gt;Element Hints&lt;/h1&gt;
954 &lt;/header&gt;
955 &lt;p&gt;Element hints are a feature in Nyxt that allow you to interact …
956 &lt;p&gt;&lt;img src=&quot;../static/image/article/element-hint.png&quot…
957 &lt;p&gt;Element hints work like this:&lt;/p&gt;
958 &lt;ol&gt;
959 &lt;li&gt;You press a keybinding.&lt;/li&gt;
960 &lt;li&gt;A series of hints appear on the page, and in the Minibuffer as…
961 &lt;li&gt;Using the Minibuffer you select which hint you would like to n…
962 &lt;li&gt;When you&#039;re ready, you submit your input, and Nyxt will n…
963 &lt;/ol&gt;
964 &lt;p&gt;Importantly, because the element hints are available in the Min…
965 &lt;p&gt;Beyond link navigation, element hints can be used to do a varie…
966 &lt;ol&gt;
967 &lt;li&gt;copy a URL&lt;/li&gt;
968 &lt;li&gt;jump to a URL&lt;/li&gt;
969 &lt;li&gt;open a URL in a background buffer&lt;/li&gt;
970 &lt;li&gt;open a URL in a new buffer&lt;/li&gt;
971 &lt;li&gt;click a button&lt;/li&gt;
972 &lt;li&gt;submit a form&lt;/li&gt;
973 &lt;/ol&gt;
974 &lt;p&gt;Like other commands, element hints can accept multiple inputs (…
975 &lt;p&gt;&lt;img src=&quot;../static/image/article/element-hint-multiple…
976 &lt;p&gt;We hope you enjoy using Nyxt&#039;s advanced element hints!&lt;…
977 &lt;p&gt;Thanks for reading :-)&lt;/p&gt;
978 &lt;/body&gt;
979 &lt;/html&gt;
980 </content></entry><entry><id>urn:uuid:dd1beb7f-3100-3502-bc57-fed4c39d55…
981 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
982 &lt;head&gt;
983 &lt;meta charset=&quot;utf-8&quot; /&gt;
984 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
985 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
986 &lt;title&gt;Reading Lines&lt;/title&gt;
987 &lt;style type=&quot;text/css&quot;&gt;
988 code{white-space: pre-wrap;}
989 span.smallcaps{font-variant: small-caps;}
990 span.underline{text-decoration: underline;}
991 div.column{display: inline-block; vertical-align: top; width: 50%;}
992 &lt;/style&gt;
993 &lt;!--[if lt IE 9]&gt;
994 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
995 &lt;![endif]--&gt;
996 &lt;/head&gt;
997 &lt;body&gt;
998 &lt;header&gt;
999 &lt;h1 class=&quot;title&quot;&gt;Reading Lines&lt;/h1&gt;
1000 &lt;/header&gt;
1001 &lt;p&gt;Reading lines are a new feature available in Nyxt. Reading line…
1002 &lt;p&gt;Here&#039;s what they look like:&lt;/p&gt;
1003 &lt;p&gt;&lt;img src=&quot;../static/image/article/reading-line.png&quot…
1004 &lt;p&gt;As can be seen, the reading line is a horizontally drawn gray b…
1005 &lt;p&gt;&lt;img src=&quot;../static/image/article/jump-to-reading-line.…
1006 &lt;p&gt;When you are done investigating whatever else you were looking …
1007 &lt;p&gt;&lt;img src=&quot;../static/image/article/return-to-reading-lin…
1008 &lt;p&gt;Thanks for reading :-)&lt;/p&gt;
1009 &lt;/body&gt;
1010 &lt;/html&gt;
1011 </content></entry><entry><id>urn:uuid:253ccf45-8df4-3d03-b912-dfcec6c486…
1012 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
1013 &lt;head&gt;
1014 &lt;meta charset=&quot;utf-8&quot; /&gt;
1015 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
1016 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
1017 &lt;title&gt;Next-&amp;gt;Nyxt Project Rename&lt;/title&gt;
1018 &lt;style type=&quot;text/css&quot;&gt;
1019 code{white-space: pre-wrap;}
1020 span.smallcaps{font-variant: small-caps;}
1021 span.underline{text-decoration: underline;}
1022 div.column{display: inline-block; vertical-align: top; width: 50%;}
1023 &lt;/style&gt;
1024 &lt;!--[if lt IE 9]&gt;
1025 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
1026 &lt;![endif]--&gt;
1027 &lt;/head&gt;
1028 &lt;body&gt;
1029 &lt;header&gt;
1030 &lt;h1 class=&quot;title&quot;&gt;Next-&amp;gt;Nyxt Project Rename&lt;/h…
1031 &lt;/header&gt;
1032 &lt;h1 id=&quot;next-has-a-new-name&quot;&gt;Next has a new name!&lt;/h1…
1033 &lt;p&gt;Hello everybody, we are happy to announce that Next has a new n…
1034 &lt;h1 id=&quot;why-the-new-name&quot;&gt;Why the new name?&lt;/h1&gt;
1035 &lt;p&gt;There are a couple of reasons why we&#039;ve decided to change …
1036 &lt;ul&gt;
1037 &lt;li&gt;Next is a word in English, making it hard to find related reso…
1038 &lt;li&gt;Nyxt is the Greek goddess of the night, making it consistent w…
1039 &lt;li&gt;Nyxt is a relatively unique spelling which will result in few …
1040 &lt;/ul&gt;
1041 &lt;p&gt;We hope you like the new name! Thanks for reading :-)&lt;/p&gt;
1042 &lt;/body&gt;
1043 &lt;/html&gt;
1044 </content></entry><entry><id>urn:uuid:3172379f-fe4d-3ce3-9406-c52fc912d3…
1045 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
1046 &lt;head&gt;
1047 &lt;meta charset=&quot;utf-8&quot; /&gt;
1048 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
1049 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
1050 &lt;title&gt;Next release 1.5.0&lt;/title&gt;
1051 &lt;style type=&quot;text/css&quot;&gt;
1052 code{white-space: pre-wrap;}
1053 span.smallcaps{font-variant: small-caps;}
1054 span.underline{text-decoration: underline;}
1055 div.column{display: inline-block; vertical-align: top; width: 50%;}
1056 &lt;/style&gt;
1057 &lt;!--[if lt IE 9]&gt;
1058 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
1059 &lt;![endif]--&gt;
1060 &lt;/head&gt;
1061 &lt;body&gt;
1062 &lt;header&gt;
1063 &lt;h1 class=&quot;title&quot;&gt;Next release 1.5.0&lt;/h1&gt;
1064 &lt;/header&gt;
1065 &lt;p&gt;We are happy to announce the release of Next version 1.5.0!&lt;…
1066 &lt;ul&gt;
1067 &lt;li&gt;&lt;p&gt;Add &lt;code&gt;certificate-whitelist-mode&lt;/code&g…
1068 &lt;p&gt;This mode temporarily authorizes invalid certificates for the c…
1069 &lt;p&gt;The mode can also be enabled for all buffers with a custom whit…
1070 &lt;li&gt;&lt;p&gt;Add &lt;code&gt;enable-hook-handler&lt;/code&gt; and …
1071 &lt;p&gt;This is particularly convenient to temporarily disable hooks th…
1072 &lt;li&gt;&lt;p&gt;Overhaul buffer search to behave in a Helm/Ivy fashio…
1073 &lt;li&gt;&lt;p&gt;Add &lt;code&gt;search-buffers&lt;/code&gt; command t…
1074 &lt;li&gt;&lt;p&gt;Add &lt;code&gt;delete-other-buffers&lt;/code&gt; com…
1075 &lt;li&gt;&lt;p&gt;Sort buffer by last-access time.&lt;/p&gt;
1076 &lt;p&gt;In particular, the latest buffer buffer will be popped when del…
1077 &lt;li&gt;&lt;p&gt;Display log messages in &lt;code&gt;*Messages*&lt;/co…
1078 &lt;li&gt;&lt;p&gt;Show source location with &lt;code&gt;command-inspect…
1079 &lt;li&gt;&lt;p&gt;Fix define-mode when there is no docstring. (Thanks t…
1080 &lt;li&gt;&lt;p&gt;Fix tab-insert on candidates.&lt;/p&gt;&lt;/li&gt;
1081 &lt;li&gt;&lt;p&gt;Rename &amp;quot;link-hint&amp;quot; to &amp;quot;ele…
1082 &lt;li&gt;&lt;p&gt;Fix updating echo area on buffer change.&lt;/p&gt;&lt…
1083 &lt;/ul&gt;
1084 &lt;h1 id=&quot;about-next&quot;&gt;About Next&lt;/h1&gt;
1085 &lt;p&gt;Next is a keyboard-oriented, extensible web-browser designed fo…
1086 &lt;p&gt;&lt;a href=&quot;https://next.atlas.engineer/download&quot;&gt;…
1087 &lt;/body&gt;
1088 &lt;/html&gt;
1089 </content></entry><entry><id>urn:uuid:2e1fe75f-a1c9-3263-ab5e-b142dd019b…
1090 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
1091 &lt;head&gt;
1092 &lt;meta charset=&quot;utf-8&quot; /&gt;
1093 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
1094 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
1095 &lt;title&gt;Next release 1.4.0&lt;/title&gt;
1096 &lt;style type=&quot;text/css&quot;&gt;
1097 code{white-space: pre-wrap;}
1098 span.smallcaps{font-variant: small-caps;}
1099 span.underline{text-decoration: underline;}
1100 div.column{display: inline-block; vertical-align: top; width: 50%;}
1101 &lt;/style&gt;
1102 &lt;!--[if lt IE 9]&gt;
1103 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
1104 &lt;![endif]--&gt;
1105 &lt;/head&gt;
1106 &lt;body&gt;
1107 &lt;header&gt;
1108 &lt;h1 class=&quot;title&quot;&gt;Next release 1.4.0&lt;/h1&gt;
1109 &lt;/header&gt;
1110 &lt;p&gt;We are happy to announce the release of Next version 1.4.0!&lt;…
1111 &lt;ul&gt;
1112 &lt;li&gt;&lt;p&gt;CLOS-style configuration. This simplifies setting the…
1113 &lt;li&gt;&lt;p&gt;Revamped hook system. (Backward incompatible.) Hooks …
1114 &lt;li&gt;&lt;p&gt;Link hints: Add fuzzy-completion over titles and URLs…
1115 &lt;li&gt;&lt;p&gt;New &lt;code&gt;--eval&lt;/code&gt; command line argu…
1116 &lt;li&gt;&lt;p&gt;New delete-all-buffers command.&lt;/p&gt;&lt;/li&gt;
1117 &lt;li&gt;&lt;p&gt;Open directories, music and videos directly from Next…
1118 &lt;li&gt;&lt;p&gt;VCS: More checks and notifications.&lt;/p&gt;&lt;/li&…
1119 &lt;li&gt;&lt;p&gt;Complete search-engine names with Tab.&lt;/p&gt;&lt;/…
1120 &lt;li&gt;&lt;p&gt;Display package in &lt;code&gt;execute-command&lt;/co…
1121 &lt;li&gt;&lt;p&gt;New &lt;code&gt;+platform-port-command+&lt;/code&gt; …
1122 &lt;li&gt;&lt;p&gt;More minibuffer default bindings. Bind &lt;code&gt;C-…
1123 &lt;li&gt;&lt;p&gt;Remove history duplicates.&lt;/p&gt;&lt;/li&gt;
1124 &lt;li&gt;&lt;p&gt;Scroll page with an offset by default.&lt;/p&gt;
1125 Offset is configurable in the &lt;code&gt;page-scroll-ratio&lt;/code&gt;…
1126 &lt;li&gt;&lt;p&gt;New command line parameter &lt;code&gt;--session&lt;/…
1127 &lt;li&gt;&lt;p&gt;Password manager fixes. (Thanks to Rune Juhl Jacobsen…
1128 &lt;li&gt;&lt;p&gt;Bug fixes:&lt;/p&gt;
1129 &lt;ul&gt;
1130 &lt;li&gt;&lt;p&gt;Don&#039;t reload page when there is no history chang…
1131 &lt;li&gt;&lt;p&gt;Omit extra space in search engine queries.&lt;/p&gt;&…
1132 &lt;li&gt;&lt;p&gt;Show if new or current buffer in &lt;code&gt;set-url&…
1133 &lt;li&gt;&lt;p&gt;Fix minibuffer performance hog.&lt;/p&gt;&lt;/li&gt;
1134 &lt;li&gt;&lt;p&gt;Fix element hint performance.&lt;/p&gt;&lt;/li&gt;
1135 &lt;li&gt;&lt;p&gt;Buttons hints can now be followed.&lt;/p&gt;&lt;/li&g…
1136 &lt;li&gt;&lt;p&gt;Fix element hint rendered offscreen on a scaled displ…
1137 &lt;/ul&gt;&lt;/li&gt;
1138 &lt;/ul&gt;
1139 &lt;h1 id=&quot;about-next&quot;&gt;About Next&lt;/h1&gt;
1140 &lt;p&gt;Next is a keyboard-oriented, extensible web-browser designed fo…
1141 &lt;p&gt;&lt;a href=&quot;https://next.atlas.engineer/download&quot;&gt;…
1142 &lt;/body&gt;
1143 &lt;/html&gt;
1144 </content></entry><entry><id>urn:uuid:e353ecec-c03c-349e-8b0d-6862015f95…
1145 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
1146 &lt;head&gt;
1147 &lt;meta charset=&quot;utf-8&quot; /&gt;
1148 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
1149 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
1150 &lt;title&gt;The Nyxt Thesis&lt;/title&gt;
1151 &lt;style type=&quot;text/css&quot;&gt;
1152 code{white-space: pre-wrap;}
1153 span.smallcaps{font-variant: small-caps;}
1154 span.underline{text-decoration: underline;}
1155 div.column{display: inline-block; vertical-align: top; width: 50%;}
1156 &lt;/style&gt;
1157 &lt;!--[if lt IE 9]&gt;
1158 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
1159 &lt;![endif]--&gt;
1160 &lt;/head&gt;
1161 &lt;body&gt;
1162 &lt;header&gt;
1163 &lt;h1 class=&quot;title&quot;&gt;The Nyxt Thesis&lt;/h1&gt;
1164 &lt;/header&gt;
1165 &lt;h1 id=&quot;why-should-i-care-who-is-nyxt-for&quot;&gt;Why should I …
1166 &lt;ul&gt;
1167 &lt;li&gt;Have you ever felt frustrated looking for a tab?&lt;/li&gt;
1168 &lt;li&gt;Have you ever been annoyed at the default, unchangable behavio…
1169 &lt;li&gt;Have you ever felt that your work-flows could greatly benefit …
1170 &lt;li&gt;Do all web browsers feel the same?&lt;/li&gt;
1171 &lt;li&gt;Are you interested in optimizing and being more efficient?&lt;…
1172 &lt;/ul&gt;
1173 &lt;p&gt;If any of the above resonates with you, you should know that it…
1174 &lt;ol&gt;
1175 &lt;li&gt;Find the information you need, and find it quickly.&lt;/li&gt;
1176 &lt;li&gt;Work efficiently, focus on the task at hand instead of navigat…
1177 &lt;li&gt;Adjust every single detail and nuance of your web browser to s…
1178 &lt;li&gt;Have unlimited power over your environment.&lt;/li&gt;
1179 &lt;/ol&gt;
1180 &lt;h1 id=&quot;what-is-nyxt-what-is-the-solution&quot;&gt;What is Nyxt?…
1181 &lt;p&gt;Nyxt is a new type of web browser that gives the user full cont…
1182 &lt;p&gt;Out of the box Nyxt ships with extensions that are designed to …
1183 &lt;p&gt;All the source code for Nyxt is available to you under a &lt;a …
1184 &lt;h1 id=&quot;what-is-the-mission-of-nyxt&quot;&gt;What is the mission…
1185 &lt;p&gt;The mission of Nyxt is to enable people to be as productive as …
1186 &lt;p&gt;Nyxt is about freedom. You should have the freedom to modify an…
1187 &lt;p&gt;Modern day scientists, engineers, philosophers, artists, and ot…
1188 &lt;h1 id=&quot;whats-the-problem-with-current-browsers&quot;&gt;What&#0…
1189 &lt;p&gt;The problem with current browsers is that they are engaged in w…
1190 &lt;p&gt;How to get a large user base? Make a product that is as simple …
1191 &lt;h2 id=&quot;why-do-browsers-care-about-market-share&quot;&gt;Why do …
1192 &lt;p&gt;Market share is power. If Chrome unilaterally decided to implem…
1193 &lt;p&gt;Furthermore, the business models of browsers, particularly Chro…
1194 &lt;h1 id=&quot;how-can-i-participate&quot;&gt;How can I participate?&lt…
1195 &lt;p&gt;You can try Nyxt now by visiting the download page linked above…
1196 &lt;/body&gt;
1197 &lt;/html&gt;
1198 </content></entry><entry><id>urn:uuid:f38b35f9-20ef-3e58-af5e-fd71f1260a…
1199 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
1200 &lt;head&gt;
1201 &lt;meta charset=&quot;utf-8&quot; /&gt;
1202 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
1203 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
1204 &lt;title&gt;Nyxt release 1.3.4&lt;/title&gt;
1205 &lt;style type=&quot;text/css&quot;&gt;
1206 code{white-space: pre-wrap;}
1207 span.smallcaps{font-variant: small-caps;}
1208 span.underline{text-decoration: underline;}
1209 div.column{display: inline-block; vertical-align: top; width: 50%;}
1210 &lt;/style&gt;
1211 &lt;!--[if lt IE 9]&gt;
1212 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
1213 &lt;![endif]--&gt;
1214 &lt;/head&gt;
1215 &lt;body&gt;
1216 &lt;header&gt;
1217 &lt;h1 class=&quot;title&quot;&gt;Nyxt release 1.3.4&lt;/h1&gt;
1218 &lt;/header&gt;
1219 &lt;p&gt;We are happy to announce the release of Nyxt version 1.3.4!&lt;…
1220 &lt;p&gt;This is a minor bug-fix release:&lt;/p&gt;
1221 &lt;ul&gt;
1222 &lt;li&gt;&lt;p&gt;Display number of (marked) candidates in minibuffer.&…
1223 &lt;li&gt;&lt;p&gt;Improve fuzzy search performance and relevance.&lt;/p…
1224 &lt;li&gt;&lt;p&gt;Swap &lt;code&gt;C-x k&lt;/code&gt; and &lt;code&gt;C…
1225 &lt;li&gt;&lt;p&gt;Fix platform port lookup failure on startup when look…
1226 &lt;li&gt;&lt;p&gt;Fix &lt;strong&gt;default-hostlist&lt;/strong&gt; pat…
1227 &lt;li&gt;&lt;p&gt;Fix compound tags lookup for bookmarks.&lt;/p&gt;&lt;…
1228 &lt;li&gt;&lt;p&gt;Fix history update on Javascript-loaded pages (e.g. G…
1229 &lt;/ul&gt;
1230 &lt;h1 id=&quot;about-nyxt&quot;&gt;About Nyxt&lt;/h1&gt;
1231 &lt;p&gt;Nyxt is a keyboard-oriented, extensible web-browser designed fo…
1232 &lt;p&gt;&lt;a href=&quot;https://next.atlas.engineer/download&quot;&gt;…
1233 &lt;/body&gt;
1234 &lt;/html&gt;
1235 </content></entry><entry><id>urn:uuid:97bf83da-7b34-378b-bba8-f4e7eabff0…
1236 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
1237 &lt;head&gt;
1238 &lt;meta charset=&quot;utf-8&quot; /&gt;
1239 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
1240 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
1241 &lt;title&gt;Only 10 days left to back the Nyxt browser crowdfunding c…
1242 &lt;style type=&quot;text/css&quot;&gt;
1243 code{white-space: pre-wrap;}
1244 span.smallcaps{font-variant: small-caps;}
1245 span.underline{text-decoration: underline;}
1246 div.column{display: inline-block; vertical-align: top; width: 50%;}
1247 &lt;/style&gt;
1248 &lt;!--[if lt IE 9]&gt;
1249 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
1250 &lt;![endif]--&gt;
1251 &lt;/head&gt;
1252 &lt;body&gt;
1253 &lt;header&gt;
1254 &lt;h1 class=&quot;title&quot;&gt;Only 10 days left to back the Nyxt bro…
1255 &lt;/header&gt;
1256 &lt;p&gt;&lt;a href=&quot;https://next.atlas.engineer&quot;&gt;Nyxt&lt;/…
1257 &lt;p&gt;In just the last months, we&#039;ve released three new versions…
1258 &lt;p&gt;The project has been seriously taking off these last couple of …
1259 &lt;h1 id=&quot;so-what-exactly-can-you-do-with-nyxt&quot;&gt;So what ex…
1260 &lt;ul&gt;
1261 &lt;li&gt;&lt;p&gt;Go blazing fast when browsing the web! For starters, …
1262 &lt;li&gt;&lt;p&gt;You can write &lt;strong&gt;new commands for anything…
1263 &lt;li&gt;&lt;p&gt;You can &lt;a href=&quot;https://next.atlas.engineer/…
1264 &lt;/ul&gt;
1265 &lt;ul&gt;
1266 &lt;li&gt;&lt;p&gt;Every tab history is saved as a tree, meaning you don…
1267 &lt;p&gt;&lt;img src=&quot;../static/image/history-tree.png&quot; /&gt;&…
1268 &lt;li&gt;&lt;p&gt;Press the &lt;code&gt;M-.&lt;/code&gt; key to get a l…
1269 &lt;/ul&gt;
1270 &lt;p&gt;And much more, as you would expect from your daily driver: adbl…
1271 &lt;h1 id=&quot;we-need-your-support&quot;&gt;We need your support!&lt;/…
1272 &lt;p&gt;Nyxt is being developed by a small team of computer scientists …
1273 &lt;p&gt;Last month we started a &lt;a href=&quot;https://www.indiegogo.…
1274 &lt;p&gt;We are also actively looking for people who would like to spons…
1275 &lt;h1 id=&quot;interested-in-whats-coming-next&quot;&gt;Interested in w…
1276 &lt;ul&gt;
1277 &lt;li&gt;&lt;p&gt;Per-domain CSS (e.g. a Dark Mode)&lt;/p&gt;&lt;/li&gt;
1278 &lt;li&gt;&lt;p&gt;Bluring the lines between a browser, a text editor an…
1279 &lt;li&gt;&lt;p&gt;A sandboxed REPL for online code snippets&lt;/p&gt;&l…
1280 &lt;li&gt;&lt;p&gt;Overpowered bookmarks&lt;/p&gt;&lt;/li&gt;
1281 &lt;li&gt;&lt;p&gt;A widget library for third-party authors&lt;/p&gt;&lt…
1282 &lt;li&gt;&lt;p&gt;Explorable features thanks to embedded documentation …
1283 &lt;li&gt;&lt;p&gt;Minibuffer multiselection (or &amp;quot;delete fuzzy-…
1284 &lt;li&gt;&lt;p&gt;Seamless integration with decentralized internet prot…
1285 &lt;li&gt;&lt;p&gt;WebKitGTK sandboxing&lt;/p&gt;&lt;/li&gt;
1286 &lt;li&gt;&lt;p&gt;Session persistence (or &amp;quot;reopen previously o…
1287 &lt;li&gt;&lt;p&gt;Enhanced and configurable adblocking&lt;/p&gt;&lt;/li…
1288 &lt;li&gt;&lt;p&gt;Status bar&lt;/p&gt;&lt;/li&gt;
1289 &lt;li&gt;&lt;p&gt;Third-party / User extension support&lt;/p&gt;&lt;/li…
1290 &lt;li&gt;&lt;p&gt;More programmable hooks for everything!&lt;/p&gt;&lt;…
1291 &lt;li&gt;&lt;p&gt;Improved macOS support&lt;/p&gt;&lt;/li&gt;
1292 &lt;/ul&gt;
1293 &lt;p&gt;Thank you for reading, and thanks in advance for your support! …
1294 &lt;/body&gt;
1295 &lt;/html&gt;
1296 </content></entry><entry><id>urn:uuid:0592ea73-0e97-3f77-a7b1-bab7fc3906…
1297 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
1298 &lt;head&gt;
1299 &lt;meta charset=&quot;utf-8&quot; /&gt;
1300 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
1301 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
1302 &lt;title&gt;Nyxt release 1.3.2&lt;/title&gt;
1303 &lt;style type=&quot;text/css&quot;&gt;
1304 code{white-space: pre-wrap;}
1305 span.smallcaps{font-variant: small-caps;}
1306 span.underline{text-decoration: underline;}
1307 div.column{display: inline-block; vertical-align: top; width: 50%;}
1308 &lt;/style&gt;
1309 &lt;!--[if lt IE 9]&gt;
1310 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
1311 &lt;![endif]--&gt;
1312 &lt;/head&gt;
1313 &lt;body&gt;
1314 &lt;header&gt;
1315 &lt;h1 class=&quot;title&quot;&gt;Nyxt release 1.3.2&lt;/h1&gt;
1316 &lt;/header&gt;
1317 &lt;p&gt;We are happy to announce the release of Nyxt version 1.3.2!&lt;…
1318 &lt;p&gt;This version includes several cool new features:&lt;/p&gt;
1319 &lt;ul&gt;
1320 &lt;li&gt;&lt;p&gt;&amp;quot;Hooks&amp;quot; let you insert your own cod…
1321 &lt;li&gt;&lt;p&gt;A new &lt;code&gt;open-file&lt;/code&gt; command. Thi…
1322 &lt;li&gt;&lt;p&gt;A &lt;code&gt;paste-from-ring&lt;/code&gt; command th…
1323 &lt;/ul&gt;
1324 &lt;p&gt;Last month we started a crowdfunding campaign, so if you like w…
1325 &lt;p&gt;&lt;a href=&quot;https://www.indiegogo.com/projects/nyxt-browse…
1326 &lt;p&gt;Thanks for reading and supporting us! You can read the full cha…
1327 &lt;h1 id=&quot;whats-next&quot;&gt;What&#039;s next?&lt;/h1&gt;
1328 &lt;p&gt;We have many new and exciting features in the pipeline that we …
1329 &lt;ul&gt;
1330 &lt;li&gt;&lt;p&gt;A high quality macOS port, with complete GTK parity(!…
1331 &lt;li&gt;&lt;p&gt;Minibuffer multi-selection (or &amp;quot;delete fuzzy…
1332 &lt;li&gt;&lt;p&gt;Session persistence (or &amp;quot;reopen previously o…
1333 &lt;li&gt;&lt;p&gt;Status bar.&lt;/p&gt;&lt;/li&gt;
1334 &lt;li&gt;&lt;p&gt;WebKitGTK native sandboxing.&lt;/p&gt;&lt;/li&gt;
1335 &lt;li&gt;&lt;p&gt;Per-domain CSS (e.g. a Dark Mode).&lt;/p&gt;&lt;/li&g…
1336 &lt;li&gt;&lt;p&gt;Smart searching across all tabs.&lt;/p&gt;&lt;/li&gt;
1337 &lt;li&gt;&lt;p&gt;Jump to heading all tabs.&lt;/p&gt;&lt;/li&gt;
1338 &lt;li&gt;&lt;p&gt;Package manager.&lt;/p&gt;&lt;/li&gt;
1339 &lt;li&gt;&lt;p&gt;Add support for per-tab proxy and Tor support.&lt;/p&…
1340 &lt;li&gt;&lt;p&gt;Add an integrated password manager.&lt;/p&gt;&lt;/li&…
1341 &lt;li&gt;&lt;p&gt;Add built-in editor.&lt;/p&gt;&lt;/li&gt;
1342 &lt;li&gt;&lt;p&gt;Allow Nyxt to call out to an external editor to fill …
1343 &lt;li&gt;&lt;p&gt;Switch from SQLite to a text based format, allowing b…
1344 &lt;/ul&gt;
1345 &lt;p&gt;Thanks for reading!&lt;/p&gt;
1346 &lt;h1 id=&quot;about-nyxt&quot;&gt;About Nyxt&lt;/h1&gt;
1347 &lt;p&gt;Nyxt is a keyboard-oriented, extensible web-browser designed fo…
1348 &lt;p&gt;&lt;a href=&quot;https://next.atlas.engineer/download&quot;&gt;…
1349 &lt;/body&gt;
1350 &lt;/html&gt;
1351 </content></entry><entry><id>urn:uuid:5f991ce4-326a-3e33-8db7-d6f0f660a4…
1352 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
1353 &lt;head&gt;
1354 &lt;meta charset=&quot;utf-8&quot; /&gt;
1355 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
1356 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
1357 &lt;title&gt;Nyxt release 1.3.1&lt;/title&gt;
1358 &lt;style type=&quot;text/css&quot;&gt;
1359 code{white-space: pre-wrap;}
1360 span.smallcaps{font-variant: small-caps;}
1361 span.underline{text-decoration: underline;}
1362 div.column{display: inline-block; vertical-align: top; width: 50%;}
1363 &lt;/style&gt;
1364 &lt;style type=&quot;text/css&quot;&gt;
1365 a.sourceLine { display: inline-block; line-height: 1.25; }
1366 a.sourceLine { pointer-events: none; color: inherit; text-decoration: in…
1367 a.sourceLine:empty { height: 1.2em; position: absolute; }
1368 .sourceCode { overflow: visible; }
1369 code.sourceCode { white-space: pre; position: relative; }
1370 div.sourceCode { margin: 1em 0; }
1371 pre.sourceCode { margin: 0; }
1372 @media screen {
1373 div.sourceCode { overflow: auto; }
1374 }
1375 @media print {
1376 code.sourceCode { white-space: pre-wrap; }
1377 a.sourceLine { text-indent: -1em; padding-left: 1em; }
1378 }
1379 pre.numberSource a.sourceLine
1380 { position: relative; }
1381 pre.numberSource a.sourceLine:empty
1382 { position: absolute; }
1383 pre.numberSource a.sourceLine::before
1384 { content: attr(data-line-number);
1385 position: absolute; left: -5em; text-align: right; vertical-align: b…
1386 border: none; pointer-events: all;
1387 -webkit-touch-callout: none; -webkit-user-select: none;
1388 -khtml-user-select: none; -moz-user-select: none;
1389 -ms-user-select: none; user-select: none;
1390 padding: 0 4px; width: 4em;
1391 color: #aaaaaa;
1392 }
1393 pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; pa…
1394 div.sourceCode
1395 { }
1396 @media screen {
1397 a.sourceLine::before { text-decoration: underline; }
1398 }
1399 code span.al { color: #ff0000; font-weight: bold; } /* Alert */
1400 code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } …
1401 code span.at { color: #7d9029; } /* Attribute */
1402 code span.bn { color: #40a070; } /* BaseN */
1403 code span.bu { } /* BuiltIn */
1404 code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
1405 code span.ch { color: #4070a0; } /* Char */
1406 code span.cn { color: #880000; } /* Constant */
1407 code span.co { color: #60a0b0; font-style: italic; } /* Comment */
1408 code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } …
1409 code span.do { color: #ba2121; font-style: italic; } /* Documentation */
1410 code span.dt { color: #902000; } /* DataType */
1411 code span.dv { color: #40a070; } /* DecVal */
1412 code span.er { color: #ff0000; font-weight: bold; } /* Error */
1413 code span.ex { } /* Extension */
1414 code span.fl { color: #40a070; } /* Float */
1415 code span.fu { color: #06287e; } /* Function */
1416 code span.im { } /* Import */
1417 code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } …
1418 code span.kw { color: #007020; font-weight: bold; } /* Keyword */
1419 code span.op { color: #666666; } /* Operator */
1420 code span.ot { color: #007020; } /* Other */
1421 code span.pp { color: #bc7a00; } /* Preprocessor */
1422 code span.sc { color: #4070a0; } /* SpecialChar */
1423 code span.ss { color: #bb6688; } /* SpecialString */
1424 code span.st { color: #4070a0; } /* String */
1425 code span.va { color: #19177c; } /* Variable */
1426 code span.vs { color: #4070a0; } /* VerbatimString */
1427 code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } …
1428 &lt;/style&gt;
1429 &lt;!--[if lt IE 9]&gt;
1430 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
1431 &lt;![endif]--&gt;
1432 &lt;/head&gt;
1433 &lt;body&gt;
1434 &lt;header&gt;
1435 &lt;h1 class=&quot;title&quot;&gt;Nyxt release 1.3.1&lt;/h1&gt;
1436 &lt;/header&gt;
1437 &lt;p&gt;We are happy to announce the release of Nyxt version 1.3.1!&lt;…
1438 &lt;p&gt;This version includes important bug fixes, an improved minibuff…
1439 &lt;p&gt;A screenshot of the minibuffer with fuzzy-matching on the URLs …
1440 &lt;p&gt;&lt;img src=&quot;../static/image/nyxt-1.3.1-minibuffer.png&quo…
1441 &lt;p&gt;On the community level, we&#039;ve overhauled our article/blog …
1442 &lt;p&gt;We&#039;ve also added a news feed where you can follow us: &lt;…
1443 &lt;p&gt;Thanks!&lt;/p&gt;
1444 &lt;h1 id=&quot;rest-of-the-change-log&quot;&gt;Rest of the &lt;a href=&…
1445 &lt;ul&gt;
1446 &lt;li&gt;&lt;p&gt;Print page title in buffer list.&lt;/p&gt;
1447 &lt;p&gt;And the title is matched when fuzzy-searching a buffer!&lt;/p&g…
1448 &lt;li&gt;&lt;p&gt;Improved minibuffer performance: it now shows up inst…
1449 &lt;li&gt;&lt;p&gt;Open external links in new buffer by default.&lt;/p&g…
1450 &lt;p&gt;This can be configured by setting &lt;code&gt;(open-external-li…
1451 *interface*)&lt;/code&gt; to the desired boolean.&lt;/p&gt;&lt;/li&gt;
1452 &lt;li&gt;&lt;p&gt;Return to last created buffer when deleting buffer.&l…
1453 &lt;p&gt;When killing the last created buffer, we were brought back to t…
1454 &lt;li&gt;Minibuffer &lt;code&gt;M-backspace&lt;/code&gt; improvements.
1455 &lt;ul&gt;
1456 &lt;li&gt;In the minibuffer, using &lt;code&gt;M-backspace&lt;/code&gt; …
1457 &lt;li&gt;Its behaviour was also too different than other common tools, …
1458 &lt;ul&gt;
1459 &lt;li&gt;it deletes the trailing word delimiter;&lt;/li&gt;
1460 &lt;li&gt;it removes all trailing delimiters &lt;em&gt;plus&lt;/em&gt; o…
1461 &lt;/ul&gt;&lt;/li&gt;
1462 &lt;/ul&gt;&lt;/li&gt;
1463 &lt;li&gt;&lt;p&gt;Add keypad bindings&lt;/p&gt;&lt;/li&gt;
1464 &lt;li&gt;&lt;p&gt;Nyxt is back to the Guix official channel&lt;/p&gt;
1465 &lt;p&gt;The Nyxt Guix channel can be safely removed from your &lt;code&…
1466 &lt;li&gt;&lt;p&gt;Mouse &lt;code&gt;button2&lt;/code&gt; (middle click)…
1467 &lt;li&gt;&lt;p&gt;Automatically fall back to a local D-Bus session if n…
1468 &lt;li&gt;&lt;p&gt;Fix platform port log file path on Guix.&lt;/p&gt;
1469 &lt;p&gt;It is now properly set to &lt;code&gt;~/.local/share/nyxt/nyxt-…
1470 &lt;li&gt;&lt;p&gt;Fix ignored search engine prefix in minibuffer input.…
1471 &lt;li&gt;&lt;p&gt;Fix browsed URLs not being added to history.&lt;/p&gt;
1472 &lt;p&gt;Yes, this is better for a daily usage :)&lt;/p&gt;&lt;/li&gt;
1473 &lt;li&gt;&lt;p&gt;Fix crash when proxy-mode was added to the list of de…
1474 &lt;p&gt;You can now add this to your &lt;code&gt;~/.config/nyxt/init.li…
1475 &lt;div class=&quot;sourceCode&quot; id=&quot;cb1&quot; data-org-languag…
1476 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-2&quot; data-line-number…
1477 &lt;p&gt;Thanks to &lt;span class=&quot;citation&quot; data-cites=&quot;…
1478 &lt;li&gt;&lt;p&gt;More bug fixes (special thanks to Solomon Bloch, &lt;…
1479 &lt;li&gt;&lt;p&gt;Developer changes:&lt;/p&gt;
1480 &lt;ul&gt;
1481 &lt;li&gt;&lt;p&gt;The Makefile automatically updates the Quicklisp dist…
1482 &lt;p&gt;Nyxt uses its own installation path for the Quicklisp dependenc…
1483 &lt;li&gt;&lt;p&gt;Remove cl-string-match and cl-strings dependencies.&l…
1484 &lt;p&gt;Now we mostly rely on &lt;a href=&quot;https://github.com/vinda…
1485 &lt;/ul&gt;&lt;/li&gt;
1486 &lt;/ul&gt;
1487 &lt;h1 id=&quot;whats-next&quot;&gt;What&#039;s next?&lt;/h1&gt;
1488 &lt;p&gt;We have many new and exciting features in the pipeline that we …
1489 &lt;ul&gt;
1490 &lt;li&gt;a &lt;strong&gt;&lt;strong&gt;password manager&lt;/strong&gt;&…
1491 &lt;li&gt;a &lt;strong&gt;&lt;strong&gt;kill ring&lt;/strong&gt;&lt;/str…
1492 &lt;li&gt;the possibility to quickly &lt;strong&gt;&lt;strong&gt;open an…
1493 &lt;li&gt;new minibuffer improvements, such as &lt;strong&gt;&lt;strong&…
1494 &lt;li&gt;&lt;strong&gt;&lt;strong&gt;session persistence&lt;/strong&gt;…
1495 &lt;li&gt;hooks (for modes, commands, startup, network events, etc.) all…
1496 &lt;/ul&gt;
1497 &lt;p&gt;Thanks for reading!&lt;/p&gt;
1498 &lt;h1 id=&quot;about-nyxt&quot;&gt;About Nyxt&lt;/h1&gt;
1499 &lt;p&gt;Nyxt is a keyboard-oriented, extensible web-browser designed fo…
1500 &lt;p&gt;&lt;a href=&quot;https://next.atlas.engineer/download&quot;&gt;…
1501 &lt;/body&gt;
1502 &lt;/html&gt;
1503 </content></entry><entry><id>urn:uuid:5a8f7f01-bdf7-3518-b4f8-1a8fec1287…
1504 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
1505 &lt;head&gt;
1506 &lt;meta charset=&quot;utf-8&quot; /&gt;
1507 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
1508 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
1509 &lt;title&gt;Emacs Hacks&lt;/title&gt;
1510 &lt;style type=&quot;text/css&quot;&gt;
1511 code{white-space: pre-wrap;}
1512 span.smallcaps{font-variant: small-caps;}
1513 span.underline{text-decoration: underline;}
1514 div.column{display: inline-block; vertical-align: top; width: 50%;}
1515 &lt;/style&gt;
1516 &lt;style type=&quot;text/css&quot;&gt;
1517 a.sourceLine { display: inline-block; line-height: 1.25; }
1518 a.sourceLine { pointer-events: none; color: inherit; text-decoration: in…
1519 a.sourceLine:empty { height: 1.2em; position: absolute; }
1520 .sourceCode { overflow: visible; }
1521 code.sourceCode { white-space: pre; position: relative; }
1522 div.sourceCode { margin: 1em 0; }
1523 pre.sourceCode { margin: 0; }
1524 @media screen {
1525 div.sourceCode { overflow: auto; }
1526 }
1527 @media print {
1528 code.sourceCode { white-space: pre-wrap; }
1529 a.sourceLine { text-indent: -1em; padding-left: 1em; }
1530 }
1531 pre.numberSource a.sourceLine
1532 { position: relative; }
1533 pre.numberSource a.sourceLine:empty
1534 { position: absolute; }
1535 pre.numberSource a.sourceLine::before
1536 { content: attr(data-line-number);
1537 position: absolute; left: -5em; text-align: right; vertical-align: b…
1538 border: none; pointer-events: all;
1539 -webkit-touch-callout: none; -webkit-user-select: none;
1540 -khtml-user-select: none; -moz-user-select: none;
1541 -ms-user-select: none; user-select: none;
1542 padding: 0 4px; width: 4em;
1543 color: #aaaaaa;
1544 }
1545 pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; pa…
1546 div.sourceCode
1547 { }
1548 @media screen {
1549 a.sourceLine::before { text-decoration: underline; }
1550 }
1551 code span.al { color: #ff0000; font-weight: bold; } /* Alert */
1552 code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } …
1553 code span.at { color: #7d9029; } /* Attribute */
1554 code span.bn { color: #40a070; } /* BaseN */
1555 code span.bu { } /* BuiltIn */
1556 code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
1557 code span.ch { color: #4070a0; } /* Char */
1558 code span.cn { color: #880000; } /* Constant */
1559 code span.co { color: #60a0b0; font-style: italic; } /* Comment */
1560 code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } …
1561 code span.do { color: #ba2121; font-style: italic; } /* Documentation */
1562 code span.dt { color: #902000; } /* DataType */
1563 code span.dv { color: #40a070; } /* DecVal */
1564 code span.er { color: #ff0000; font-weight: bold; } /* Error */
1565 code span.ex { } /* Extension */
1566 code span.fl { color: #40a070; } /* Float */
1567 code span.fu { color: #06287e; } /* Function */
1568 code span.im { } /* Import */
1569 code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } …
1570 code span.kw { color: #007020; font-weight: bold; } /* Keyword */
1571 code span.op { color: #666666; } /* Operator */
1572 code span.ot { color: #007020; } /* Other */
1573 code span.pp { color: #bc7a00; } /* Preprocessor */
1574 code span.sc { color: #4070a0; } /* SpecialChar */
1575 code span.ss { color: #bb6688; } /* SpecialString */
1576 code span.st { color: #4070a0; } /* String */
1577 code span.va { color: #19177c; } /* Variable */
1578 code span.vs { color: #4070a0; } /* VerbatimString */
1579 code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } …
1580 &lt;/style&gt;
1581 &lt;!--[if lt IE 9]&gt;
1582 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
1583 &lt;![endif]--&gt;
1584 &lt;/head&gt;
1585 &lt;body&gt;
1586 &lt;header&gt;
1587 &lt;h1 class=&quot;title&quot;&gt;Emacs Hacks&lt;/h1&gt;
1588 &lt;/header&gt;
1589 &lt;h1 id=&quot;nyxt-interfaces&quot;&gt;Nyxt interfaces&lt;/h1&gt;
1590 &lt;p&gt;Nyxt can be controlled from an external program via SWANK. For …
1591 &lt;p&gt;But what about the other way around? Can we use Nyxt to manipul…
1592 &lt;p&gt;An interesting example is that of Emacs, since it can be hacked…
1593 &lt;h1 id=&quot;youtube-dl-with-emacs&quot;&gt;Youtube-dl with Emacs&lt;…
1594 &lt;p&gt;&lt;a href=&quot;https://yt-dl.org&quot;&gt;Youtube-dl&lt;/a&gt…
1595 &lt;p&gt;That said, we would like to make it more convenient than consta…
1596 &lt;p&gt;We could derive our own Youtube-dl extension for Nyxt so that w…
1597 &lt;p&gt;Chris Wellon wrote &lt;a href=&quot;https://github.com/skeeto/y…
1598 &lt;div class=&quot;sourceCode&quot; id=&quot;cb1&quot; data-org-languag…
1599 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-2&quot; data-line-number…
1600 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-3&quot; data-line-number…
1601 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-4&quot; data-line-number…
1602 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-5&quot; data-line-number…
1603 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-6&quot; data-line-number…
1604 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-7&quot; data-line-number…
1605 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-8&quot; data-line-number…
1606 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-9&quot; data-line-number…
1607 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-10&quot; data-line-numbe…
1608 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-11&quot; data-line-numbe…
1609 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-12&quot; data-line-numbe…
1610 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-13&quot; data-line-numbe…
1611 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-14&quot; data-line-numbe…
1612 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-15&quot; data-line-numbe…
1613 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-16&quot; data-line-numbe…
1614 &lt;p&gt;The above snippet opens a dedicated &lt;code&gt;*youtube-dl*&lt…
1615 &lt;p&gt;With that set up, now we can add the following snippet to our &…
1616 &lt;div class=&quot;sourceCode&quot; id=&quot;cb2&quot; data-org-languag…
1617 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-2&quot; data-line-number…
1618 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-3&quot; data-line-number…
1619 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-4&quot; data-line-number…
1620 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-5&quot; data-line-number…
1621 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-6&quot; data-line-number…
1622 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-7&quot; data-line-number…
1623 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-8&quot; data-line-number…
1624 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-9&quot; data-line-number…
1625 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-10&quot; data-line-numbe…
1626 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-11&quot; data-line-numbe…
1627 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-12&quot; data-line-numbe…
1628 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-13&quot; data-line-numbe…
1629 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-14&quot; data-line-numbe…
1630 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-15&quot; data-line-numbe…
1631 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-16&quot; data-line-numbe…
1632 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-17&quot; data-line-numbe…
1633 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-18&quot; data-line-numbe…
1634 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-19&quot; data-line-numbe…
1635 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-20&quot; data-line-numbe…
1636 &lt;p&gt;We define a helper function &lt;code&gt;eval-in-emacs&lt;/code&…
1637 &lt;p&gt;The &lt;code&gt;youtube-dl-current-page&lt;/code&gt; command te…
1638 &lt;h1 id=&quot;org-mode-and-org-capture&quot;&gt;Org-mode and Org-captu…
1639 &lt;p&gt;&lt;a href=&quot;https://orgmode.org/&quot;&gt;Org-mode&lt;/a&g…
1640 &lt;p&gt;This can be useful for a web browser: You&#039;d like to mark t…
1641 &lt;div class=&quot;sourceCode&quot; id=&quot;cb3&quot; data-org-languag…
1642 &lt;a class=&quot;sourceLine&quot; id=&quot;cb3-2&quot; data-line-number…
1643 &lt;a class=&quot;sourceLine&quot; id=&quot;cb3-3&quot; data-line-number…
1644 &lt;a class=&quot;sourceLine&quot; id=&quot;cb3-4&quot; data-line-number…
1645 &lt;p&gt;The above snippet does quite a few things, so let&#039;s analyz…
1646 &lt;ul&gt;
1647 &lt;li&gt;&lt;p&gt;The first &lt;code&gt;&amp;quot;w&amp;quot;&lt;/code&…
1648 &lt;li&gt;&lt;p&gt;&lt;code&gt;(file+headline ,(car org-agenda-files) &a…
1649 &lt;li&gt;&lt;p&gt;&lt;code&gt;%a&lt;/code&gt; is the Org URL of the pag…
1650 &lt;li&gt;&lt;p&gt;The rest is arbitrary. Here we schedule the reading t…
1651 &lt;/ul&gt;
1652 &lt;p&gt;See &lt;code&gt;org-capture-templates&lt;/code&gt; documentatio…
1653 &lt;p&gt;Now to our &lt;code&gt;nyxt/init.lisp&lt;/code&gt;:&lt;/p&gt;
1654 &lt;div class=&quot;sourceCode&quot; id=&quot;cb4&quot; data-org-languag…
1655 &lt;a class=&quot;sourceLine&quot; id=&quot;cb4-2&quot; data-line-number…
1656 &lt;a class=&quot;sourceLine&quot; id=&quot;cb4-3&quot; data-line-number…
1657 &lt;a class=&quot;sourceLine&quot; id=&quot;cb4-4&quot; data-line-number…
1658 &lt;a class=&quot;sourceLine&quot; id=&quot;cb4-5&quot; data-line-number…
1659 &lt;a class=&quot;sourceLine&quot; id=&quot;cb4-6&quot; data-line-number…
1660 &lt;a class=&quot;sourceLine&quot; id=&quot;cb4-7&quot; data-line-number…
1661 &lt;a class=&quot;sourceLine&quot; id=&quot;cb4-8&quot; data-line-number…
1662 &lt;a class=&quot;sourceLine&quot; id=&quot;cb4-9&quot; data-line-number…
1663 &lt;a class=&quot;sourceLine&quot; id=&quot;cb4-10&quot; data-line-numbe…
1664 &lt;a class=&quot;sourceLine&quot; id=&quot;cb4-11&quot; data-line-numbe…
1665 &lt;a class=&quot;sourceLine&quot; id=&quot;cb4-12&quot; data-line-numbe…
1666 &lt;a class=&quot;sourceLine&quot; id=&quot;cb4-13&quot; data-line-numbe…
1667 &lt;a class=&quot;sourceLine&quot; id=&quot;cb4-14&quot; data-line-numbe…
1668 &lt;a class=&quot;sourceLine&quot; id=&quot;cb4-15&quot; data-line-numbe…
1669 &lt;p&gt;This is similar to the example in the previous section. Note th…
1670 &lt;p&gt;Happy hacking!&lt;/p&gt;
1671 &lt;/body&gt;
1672 &lt;/html&gt;
1673 </content></entry><entry><id>urn:uuid:5a163163-5c04-3d7d-98fa-3c6f39a666…
1674 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
1675 &lt;head&gt;
1676 &lt;meta charset=&quot;utf-8&quot; /&gt;
1677 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
1678 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
1679 &lt;title&gt;Technical Design&lt;/title&gt;
1680 &lt;style type=&quot;text/css&quot;&gt;
1681 code{white-space: pre-wrap;}
1682 span.smallcaps{font-variant: small-caps;}
1683 span.underline{text-decoration: underline;}
1684 div.column{display: inline-block; vertical-align: top; width: 50%;}
1685 &lt;/style&gt;
1686 &lt;!--[if lt IE 9]&gt;
1687 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
1688 &lt;![endif]--&gt;
1689 &lt;/head&gt;
1690 &lt;body&gt;
1691 &lt;header&gt;
1692 &lt;h1 class=&quot;title&quot;&gt;Technical Design&lt;/h1&gt;
1693 &lt;/header&gt;
1694 &lt;h1 id=&quot;requirements-of-a-browser&quot;&gt;Requirements of a bro…
1695 &lt;p&gt;A web browser is made of a few major components:&lt;/p&gt;
1696 &lt;ul&gt;
1697 &lt;li&gt;A graphical user interface (GUI), written in, say Cocoa or GTK…
1698 &lt;li&gt;A renderer (e.g. Gecko or WebKit).&lt;/li&gt;
1699 &lt;li&gt;A controller (the glue code, which includes user configuration…
1700 &lt;/ul&gt;
1701 &lt;h1 id=&quot;the-current-landscape-of-browsers&quot;&gt;The current l…
1702 &lt;p&gt;The graphical user interface can be a prominent part of the exp…
1703 &lt;p&gt;A renderer can be extremely difficult to write, so most browser…
1704 &lt;p&gt;Last but not least, the controllers are mostly divided into two…
1705 &lt;h1 id=&quot;the-poor-state-of-language-bindings-for-gui-toolkits&quo…
1706 &lt;p&gt;Initially, Nyxt was 100% written in Common Lisp, which means th…
1707 &lt;p&gt;Indeed, the most common GUI toolkits are written in C or a vari…
1708 &lt;p&gt;Common Lisp has a rather complete Cocoa-binding library, but it…
1709 &lt;p&gt;Sadly, the GTK bindings are not in a shape that is enough to fu…
1710 &lt;p&gt;It turns out that this is not an isolated issue. Because of the…
1711 &lt;h1 id=&quot;split-process-design-a-cure-for-portable-interfaces&quot…
1712 &lt;p&gt;Nyxt is all about the controller. Its selling point is to be in…
1713 &lt;p&gt;The GUI toolkit and the renderer are only secondary. If we can&…
1714 &lt;p&gt;Then we would have only one thing left: the controller, manipul…
1715 &lt;h2 id=&quot;choosing-an-rpc-protocol&quot;&gt;Choosing an RPC protoc…
1716 &lt;p&gt;We chose XML-RPC, mostly because we had to choose one of the ma…
1717 &lt;p&gt;It operates very simply: the server registers a set of callback…
1718 &lt;p&gt;While XML is more verbose (and arguably uglier) than JSON, it d…
1719 &lt;p&gt;XML-RPC can be used over HTTP sockets, and this is what we do. …
1720 &lt;h2 id=&quot;implementation-the-platform-port-and-the-lisp-core&quot;…
1721 &lt;p&gt;We&#039;ve implemented two processes:&lt;/p&gt;
1722 &lt;ul&gt;
1723 &lt;li&gt;&lt;p&gt;The Lisp core which is a regular Common Lisp applicat…
1724 &lt;li&gt;&lt;p&gt;The &amp;quot;platform port&amp;quot;, which does thr…
1725 &lt;ul&gt;
1726 &lt;li&gt;all the GUI parts,&lt;/li&gt;
1727 &lt;li&gt;all the web rendering,&lt;/li&gt;
1728 &lt;li&gt;and it also fires up its own XML-RPC server which responds to …
1729 &lt;/ul&gt;&lt;/li&gt;
1730 &lt;/ul&gt;
1731 &lt;p&gt;The Lisp core and the platform port are both XML-RPC clients an…
1732 &lt;p&gt;For instance, whenever the user presses a key, say &lt;code&gt;…
1733 &lt;p&gt;The platform port is very minimalist, it only needs to know how…
1734 &lt;p&gt;Since the Lisp core can generate JavaScript (with a Lisp syntax…
1735 &lt;p&gt;Indeed, once a platform port has been made to work, there is no…
1736 &lt;h1 id=&quot;benefits-of-a-split-process-design&quot;&gt;Benefits of …
1737 &lt;h2 id=&quot;high-level-browser-library&quot;&gt;High-level browser l…
1738 &lt;p&gt;In the end, the platform port is just a graphical user interfac…
1739 &lt;p&gt;Which means that from a programmer&#039;s point of view, this i…
1740 &lt;h2 id=&quot;native-look-feel&quot;&gt;Native &lt;em&gt;look &amp;amp…
1741 &lt;p&gt;A nice consequence of the separation between the platform port …
1742 &lt;h2 id=&quot;multiple-renderer-support&quot;&gt;Multiple renderer sup…
1743 &lt;p&gt;Another cool side effect of this approach and that it is by des…
1744 &lt;p&gt;For the initial release, we&#039;ve opted for WebKit for a few …
1745 &lt;ul&gt;
1746 &lt;li&gt;&lt;p&gt;It&#039;s easy enough to embed into a project, possib…
1747 &lt;li&gt;&lt;p&gt;It works well on all platforms and has both Cocoa and…
1748 &lt;li&gt;&lt;p&gt;In 2018, it&#039;s a call against the pressing monopo…
1749 &lt;/ul&gt;
1750 &lt;h2 id=&quot;robustness-and-security&quot;&gt;Robustness and security…
1751 &lt;p&gt;Because the platform port is so minimal, it is much easier to m…
1752 &lt;p&gt;The security-sensitive part, i.e. the renderer, is contained in…
1753 &lt;h2 id=&quot;resistance-to-web-renderer-api-breakages&quot;&gt;Resist…
1754 &lt;p&gt;Last but not least, our design means that the web renderer is n…
1755 &lt;p&gt;Many times in the past, it happened that a web renderer API wou…
1756 &lt;p&gt;When WebKit 2.0 came out, many WebKit-1-based browsers became o…
1757 &lt;p&gt;More recently, it happened again with Firefox&#039; extensions …
1758 &lt;p&gt;With our split-process design, should a web renderer break, we …
1759 &lt;/body&gt;
1760 &lt;/html&gt;
1761 </content></entry><entry><id>urn:uuid:c61f3aed-0d4b-38e0-8456-af5a396fdd…
1762 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
1763 &lt;head&gt;
1764 &lt;meta charset=&quot;utf-8&quot; /&gt;
1765 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
1766 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
1767 &lt;title&gt;Hooks in practice&lt;/title&gt;
1768 &lt;style type=&quot;text/css&quot;&gt;
1769 code{white-space: pre-wrap;}
1770 span.smallcaps{font-variant: small-caps;}
1771 span.underline{text-decoration: underline;}
1772 div.column{display: inline-block; vertical-align: top; width: 50%;}
1773 &lt;/style&gt;
1774 &lt;style type=&quot;text/css&quot;&gt;
1775 a.sourceLine { display: inline-block; line-height: 1.25; }
1776 a.sourceLine { pointer-events: none; color: inherit; text-decoration: in…
1777 a.sourceLine:empty { height: 1.2em; position: absolute; }
1778 .sourceCode { overflow: visible; }
1779 code.sourceCode { white-space: pre; position: relative; }
1780 div.sourceCode { margin: 1em 0; }
1781 pre.sourceCode { margin: 0; }
1782 @media screen {
1783 div.sourceCode { overflow: auto; }
1784 }
1785 @media print {
1786 code.sourceCode { white-space: pre-wrap; }
1787 a.sourceLine { text-indent: -1em; padding-left: 1em; }
1788 }
1789 pre.numberSource a.sourceLine
1790 { position: relative; }
1791 pre.numberSource a.sourceLine:empty
1792 { position: absolute; }
1793 pre.numberSource a.sourceLine::before
1794 { content: attr(data-line-number);
1795 position: absolute; left: -5em; text-align: right; vertical-align: b…
1796 border: none; pointer-events: all;
1797 -webkit-touch-callout: none; -webkit-user-select: none;
1798 -khtml-user-select: none; -moz-user-select: none;
1799 -ms-user-select: none; user-select: none;
1800 padding: 0 4px; width: 4em;
1801 color: #aaaaaa;
1802 }
1803 pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; pa…
1804 div.sourceCode
1805 { }
1806 @media screen {
1807 a.sourceLine::before { text-decoration: underline; }
1808 }
1809 code span.al { color: #ff0000; font-weight: bold; } /* Alert */
1810 code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } …
1811 code span.at { color: #7d9029; } /* Attribute */
1812 code span.bn { color: #40a070; } /* BaseN */
1813 code span.bu { } /* BuiltIn */
1814 code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
1815 code span.ch { color: #4070a0; } /* Char */
1816 code span.cn { color: #880000; } /* Constant */
1817 code span.co { color: #60a0b0; font-style: italic; } /* Comment */
1818 code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } …
1819 code span.do { color: #ba2121; font-style: italic; } /* Documentation */
1820 code span.dt { color: #902000; } /* DataType */
1821 code span.dv { color: #40a070; } /* DecVal */
1822 code span.er { color: #ff0000; font-weight: bold; } /* Error */
1823 code span.ex { } /* Extension */
1824 code span.fl { color: #40a070; } /* Float */
1825 code span.fu { color: #06287e; } /* Function */
1826 code span.im { } /* Import */
1827 code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } …
1828 code span.kw { color: #007020; font-weight: bold; } /* Keyword */
1829 code span.op { color: #666666; } /* Operator */
1830 code span.ot { color: #007020; } /* Other */
1831 code span.pp { color: #bc7a00; } /* Preprocessor */
1832 code span.sc { color: #4070a0; } /* SpecialChar */
1833 code span.ss { color: #bb6688; } /* SpecialString */
1834 code span.st { color: #4070a0; } /* String */
1835 code span.va { color: #19177c; } /* Variable */
1836 code span.vs { color: #4070a0; } /* VerbatimString */
1837 code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } …
1838 &lt;/style&gt;
1839 &lt;!--[if lt IE 9]&gt;
1840 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
1841 &lt;![endif]--&gt;
1842 &lt;/head&gt;
1843 &lt;body&gt;
1844 &lt;header&gt;
1845 &lt;h1 class=&quot;title&quot;&gt;Hooks in practice&lt;/h1&gt;
1846 &lt;/header&gt;
1847 &lt;p&gt;Update: This article was updated for Nyxt 2 for which the hook …
1848 &lt;h1 id=&quot;using-hooks-to-smart-program-your-browser&quot;&gt;Using…
1849 &lt;p&gt;Hooks are a great way to extend a workflow by triggering action…
1850 &lt;p&gt;In the world of a web browser, there are a ton of events: page …
1851 &lt;p&gt;In Nyxt, all these events are &lt;em&gt;hookable&lt;/em&gt;.&lt…
1852 &lt;p&gt;Hooking into the events fired off by the browser or by the user…
1853 &lt;h1 id=&quot;the-nyxt-hook-system&quot;&gt;The Nyxt hook system&lt;/h…
1854 &lt;p&gt;Many hooks are as such executed at different points in Nyxt:&lt…
1855 &lt;ul&gt;
1856 &lt;li&gt;&lt;p&gt;&lt;strong&gt;Global&lt;/strong&gt; hooks, such as th…
1857 &lt;li&gt;&lt;p&gt;&lt;strong&gt;Window&lt;/strong&gt; and &lt;strong&gt…
1858 &lt;li&gt;&lt;p&gt;&lt;strong&gt;Modes&lt;/strong&gt; hooks (before and …
1859 &lt;li&gt;&lt;p&gt;&amp;quot;Before&amp;quot; and &amp;quot;after&amp;qu…
1860 &lt;/ul&gt;
1861 &lt;p&gt;For the full list, run &lt;code&gt;describe-variable&lt;/code&g…
1862 &lt;h2 id=&quot;practical-examples&quot;&gt;Practical examples&lt;/h2&gt;
1863 &lt;p&gt;Let&#039;s consider a practical example. If you want to force t…
1864 &lt;div class=&quot;sourceCode&quot; id=&quot;cb1&quot; data-org-languag…
1865 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-2&quot; data-line-number…
1866 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-3&quot; data-line-number…
1867 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-4&quot; data-line-number…
1868 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-5&quot; data-line-number…
1869 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-6&quot; data-line-number…
1870 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-7&quot; data-line-number…
1871 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-8&quot; data-line-number…
1872 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-9&quot; data-line-number…
1873 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-10&quot; data-line-numbe…
1874 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-11&quot; data-line-numbe…
1875 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-12&quot; data-line-numbe…
1876 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-13&quot; data-line-numbe…
1877 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-14&quot; data-line-numbe…
1878 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-15&quot; data-line-numbe…
1879 &lt;a class=&quot;sourceLine&quot; id=&quot;cb1-16&quot; data-line-numbe…
1880 &lt;p&gt;You can ask Nyxt to automatically enable or disable modes depen…
1881 &lt;p&gt;Another cool example would be automatically downloading any You…
1882 &lt;div class=&quot;sourceCode&quot; id=&quot;cb2&quot; data-org-languag…
1883 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-2&quot; data-line-number…
1884 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-3&quot; data-line-number…
1885 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-4&quot; data-line-number…
1886 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-5&quot; data-line-number…
1887 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-6&quot; data-line-number…
1888 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-7&quot; data-line-number…
1889 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-8&quot; data-line-number…
1890 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-9&quot; data-line-number…
1891 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-10&quot; data-line-numbe…
1892 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-11&quot; data-line-numbe…
1893 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-12&quot; data-line-numbe…
1894 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-13&quot; data-line-numbe…
1895 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-14&quot; data-line-numbe…
1896 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-15&quot; data-line-numbe…
1897 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-16&quot; data-line-numbe…
1898 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-17&quot; data-line-numbe…
1899 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-18&quot; data-line-numbe…
1900 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-19&quot; data-line-numbe…
1901 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-20&quot; data-line-numbe…
1902 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-21&quot; data-line-numbe…
1903 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-22&quot; data-line-numbe…
1904 &lt;a class=&quot;sourceLine&quot; id=&quot;cb2-23&quot; data-line-numbe…
1905 &lt;p&gt;Adjust it to your taste!&lt;/p&gt;
1906 &lt;h2 id=&quot;all-user-commands-have-hooks&quot;&gt;All user commands …
1907 &lt;p&gt;One feature that makes Nyxt unique is the ability to extend com…
1908 &lt;p&gt;Because the Common Lisp language allows it, one could replace a…
1909 &lt;p&gt;We can then use the &amp;quot;before&amp;quot; and &amp;quot;af…
1910 &lt;div class=&quot;sourceCode&quot; id=&quot;cb3&quot; data-org-languag…
1911 &lt;a class=&quot;sourceLine&quot; id=&quot;cb3-2&quot; data-line-number…
1912 &lt;a class=&quot;sourceLine&quot; id=&quot;cb3-3&quot; data-line-number…
1913 &lt;p&gt;and adding it to the list of hooks:&lt;/p&gt;
1914 &lt;div class=&quot;sourceCode&quot; id=&quot;cb4&quot; data-org-languag…
1915 &lt;p&gt;And voila!&lt;/p&gt;
1916 &lt;h1 id=&quot;conclusions&quot;&gt;Conclusions&lt;/h1&gt;
1917 &lt;p&gt;In summary, hooks present a very simple and effective mechanism…
1918 &lt;p&gt;For more about details on the hook internals and advanced usage…
1919 &lt;p&gt;Thanks for reading!&lt;/p&gt;
1920 &lt;/body&gt;
1921 &lt;/html&gt;
1922 </content></entry><entry><id>urn:uuid:fb160a1c-75ad-3af8-aa3d-05e9799e38…
1923 &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;&quot…
1924 &lt;head&gt;
1925 &lt;meta charset=&quot;utf-8&quot; /&gt;
1926 &lt;meta name=&quot;generator&quot; content=&quot;pandoc&quot; /&gt;
1927 &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, i…
1928 &lt;title&gt;Command Line Programs&lt;/title&gt;
1929 &lt;style type=&quot;text/css&quot;&gt;
1930 code{white-space: pre-wrap;}
1931 span.smallcaps{font-variant: small-caps;}
1932 span.underline{text-decoration: underline;}
1933 div.column{display: inline-block; vertical-align: top; width: 50%;}
1934 &lt;/style&gt;
1935 &lt;style type=&quot;text/css&quot;&gt;
1936 a.sourceLine { display: inline-block; line-height: 1.25; }
1937 a.sourceLine { pointer-events: none; color: inherit; text-decoration: in…
1938 a.sourceLine:empty { height: 1.2em; position: absolute; }
1939 .sourceCode { overflow: visible; }
1940 code.sourceCode { white-space: pre; position: relative; }
1941 div.sourceCode { margin: 1em 0; }
1942 pre.sourceCode { margin: 0; }
1943 @media screen {
1944 div.sourceCode { overflow: auto; }
1945 }
1946 @media print {
1947 code.sourceCode { white-space: pre-wrap; }
1948 a.sourceLine { text-indent: -1em; padding-left: 1em; }
1949 }
1950 pre.numberSource a.sourceLine
1951 { position: relative; }
1952 pre.numberSource a.sourceLine:empty
1953 { position: absolute; }
1954 pre.numberSource a.sourceLine::before
1955 { content: attr(data-line-number);
1956 position: absolute; left: -5em; text-align: right; vertical-align: b…
1957 border: none; pointer-events: all;
1958 -webkit-touch-callout: none; -webkit-user-select: none;
1959 -khtml-user-select: none; -moz-user-select: none;
1960 -ms-user-select: none; user-select: none;
1961 padding: 0 4px; width: 4em;
1962 color: #aaaaaa;
1963 }
1964 pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; pa…
1965 div.sourceCode
1966 { }
1967 @media screen {
1968 a.sourceLine::before { text-decoration: underline; }
1969 }
1970 code span.al { color: #ff0000; font-weight: bold; } /* Alert */
1971 code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } …
1972 code span.at { color: #7d9029; } /* Attribute */
1973 code span.bn { color: #40a070; } /* BaseN */
1974 code span.bu { } /* BuiltIn */
1975 code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
1976 code span.ch { color: #4070a0; } /* Char */
1977 code span.cn { color: #880000; } /* Constant */
1978 code span.co { color: #60a0b0; font-style: italic; } /* Comment */
1979 code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } …
1980 code span.do { color: #ba2121; font-style: italic; } /* Documentation */
1981 code span.dt { color: #902000; } /* DataType */
1982 code span.dv { color: #40a070; } /* DecVal */
1983 code span.er { color: #ff0000; font-weight: bold; } /* Error */
1984 code span.ex { } /* Extension */
1985 code span.fl { color: #40a070; } /* Float */
1986 code span.fu { color: #06287e; } /* Function */
1987 code span.im { } /* Import */
1988 code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } …
1989 code span.kw { color: #007020; font-weight: bold; } /* Keyword */
1990 code span.op { color: #666666; } /* Operator */
1991 code span.ot { color: #007020; } /* Other */
1992 code span.pp { color: #bc7a00; } /* Preprocessor */
1993 code span.sc { color: #4070a0; } /* SpecialChar */
1994 code span.ss { color: #bb6688; } /* SpecialString */
1995 code span.st { color: #4070a0; } /* String */
1996 code span.va { color: #19177c; } /* Variable */
1997 code span.vs { color: #4070a0; } /* VerbatimString */
1998 code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } …
1999 &lt;/style&gt;
2000 &lt;!--[if lt IE 9]&gt;
2001 &lt;script src=&quot;//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.…
2002 &lt;![endif]--&gt;
2003 &lt;/head&gt;
2004 &lt;body&gt;
2005 &lt;header&gt;
2006 &lt;h1 class=&quot;title&quot;&gt;Command Line Programs&lt;/h1&gt;
2007 &lt;/header&gt;
2008 &lt;h1 id=&quot;running-programs-in-nyxt&quot;&gt;Running Programs in Ny…
2009 &lt;p&gt;Nyxt gives you the power to extend its capabilities by invoking…
2010 &lt;h1 id=&quot;a-practical-example-download-youtube-videos&quot;&gt;A P…
2011 &lt;p&gt;Let&#039;s consider the following situation: you are watching a…
2012 &lt;p&gt;A quick search on the internet reveals a very convenient progra…
2013 &lt;p&gt;You could simply copy the URL and paste it into the terminal. T…
2014 &lt;div class=&quot;sourceCode&quot; id=&quot;youtube-dl&quot; data-org-…
2015 &lt;a class=&quot;sourceLine&quot; id=&quot;youtube-dl-2&quot; data-line…
2016 &lt;a class=&quot;sourceLine&quot; id=&quot;youtube-dl-3&quot; data-line…
2017 &lt;a class=&quot;sourceLine&quot; id=&quot;youtube-dl-4&quot; data-line…
2018 &lt;a class=&quot;sourceLine&quot; id=&quot;youtube-dl-5&quot; data-line…
2019 &lt;p&gt;Just like that! Instant Youtube downloader script. If you want,…
2020 &lt;div class=&quot;sourceCode&quot; id=&quot;youtube-dl-keybinding&quot…
2021 &lt;p&gt;Now whenever you want to download a Youtube video simply &amp;q…
2022 &lt;h1 id=&quot;shell-mode&quot;&gt;&amp;quot;Shell&amp;quot; Mode&lt;/h…
2023 &lt;p&gt;That was cool, but it doesn&#039;t really show the true power o…
2024 &lt;p&gt;Simply put: shell mode is an extension for running simple one-l…
2025 &lt;div class=&quot;sourceCode&quot; id=&quot;shell-mode&quot; data-org-…
2026 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-2&quot; data-line…
2027 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-3&quot; data-line…
2028 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-4&quot; data-line…
2029 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-5&quot; data-line…
2030 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-6&quot; data-line…
2031 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-7&quot; data-line…
2032 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-8&quot; data-line…
2033 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-9&quot; data-line…
2034 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-10&quot; data-lin…
2035 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-11&quot; data-lin…
2036 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-12&quot; data-lin…
2037 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-13&quot; data-lin…
2038 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-14&quot; data-lin…
2039 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-15&quot; data-lin…
2040 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-16&quot; data-lin…
2041 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-17&quot; data-lin…
2042 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-18&quot; data-lin…
2043 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-19&quot; data-lin…
2044 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-20&quot; data-lin…
2045 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-21&quot; data-lin…
2046 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-22&quot; data-lin…
2047 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-23&quot; data-lin…
2048 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-24&quot; data-lin…
2049 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-25&quot; data-lin…
2050 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-26&quot; data-lin…
2051 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-27&quot; data-lin…
2052 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-28&quot; data-lin…
2053 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-29&quot; data-lin…
2054 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-30&quot; data-lin…
2055 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-31&quot; data-lin…
2056 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-32&quot; data-lin…
2057 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-33&quot; data-lin…
2058 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-34&quot; data-lin…
2059 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-35&quot; data-lin…
2060 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-36&quot; data-lin…
2061 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-37&quot; data-lin…
2062 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-38&quot; data-lin…
2063 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-39&quot; data-lin…
2064 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-40&quot; data-lin…
2065 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-41&quot; data-lin…
2066 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-42&quot; data-lin…
2067 &lt;a class=&quot;sourceLine&quot; id=&quot;shell-mode-43&quot; data-lin…
2068 &lt;p&gt;Within 40 lines of Lisp we&#039;ve managed to make a completely…
2069 &lt;h1 id=&quot;the-take-away&quot;&gt;The Take Away&lt;/h1&gt;
2070 &lt;p&gt;Nyxt can be extended with any program of any type as long as it…
2071 &lt;p&gt;Thanks for reading!&lt;/p&gt;
2072 &lt;/body&gt;
2073 &lt;/html&gt;
2074
You are viewing proxied material from codemadness.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.