<feed xmlns='http://www.w3.org/2005/Atom'>
<title>searxng/.git/searx/static/themes/simple/css, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.slickd.xyz/searxng/.git/'/>
<entry>
<title>[mod] client/simple: client plugins (#5406)</title>
<updated>2025-12-02T10:18:00+00:00</updated>
<author>
<name>Ivan Gabaldon</name>
<email>igabaldon@inetol.net</email>
</author>
<published>2025-12-02T10:18:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.slickd.xyz/searxng/.git/commit/?id=fb089ae297b27f51777318e3a28bca8b172a4165'/>
<id>fb089ae297b27f51777318e3a28bca8b172a4165</id>
<content type='text'>
* [mod] client/simple: client plugins

Defines a new interface for client side *"plugins"* that coexist with server
side plugin system. Each plugin (e.g., `InfiniteScroll`) extends the base
`ts Plugin`. Client side plugins are independent and lazy‑loaded via `router.ts`
when their `load()` conditions are met. On each navigation request, all
applicable plugins are instanced.

Since these are client side plugins, we can only invoke them once DOM is fully
loaded. E.g. `Calculator` will not render a new `answer` block until fully
loaded and executed.

For some plugins, we might want to handle its availability in `settings.yml`
and toggle in UI, like we do for server side plugins. In that case, we extend
`py Plugin` instancing only the information and then checking client side if
[`settings.plugins`](https://github.com/inetol/searxng/blob/1ad832b1dc33f3f388da361ff2459b05dc86a164/client/simple/src/js/toolkit.ts#L134)
array has the plugin id.

* [mod] client/simple: rebuild static</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* [mod] client/simple: client plugins

Defines a new interface for client side *"plugins"* that coexist with server
side plugin system. Each plugin (e.g., `InfiniteScroll`) extends the base
`ts Plugin`. Client side plugins are independent and lazy‑loaded via `router.ts`
when their `load()` conditions are met. On each navigation request, all
applicable plugins are instanced.

Since these are client side plugins, we can only invoke them once DOM is fully
loaded. E.g. `Calculator` will not render a new `answer` block until fully
loaded and executed.

For some plugins, we might want to handle its availability in `settings.yml`
and toggle in UI, like we do for server side plugins. In that case, we extend
`py Plugin` instancing only the information and then checking client side if
[`settings.plugins`](https://github.com/inetol/searxng/blob/1ad832b1dc33f3f388da361ff2459b05dc86a164/client/simple/src/js/toolkit.ts#L134)
array has the plugin id.

* [mod] client/simple: rebuild static</pre>
</div>
</content>
</entry>
<entry>
<title>[build] /static</title>
<updated>2025-10-25T08:00:28+00:00</updated>
<author>
<name>Bnyro</name>
<email>bnyro@tutanota.com</email>
</author>
<published>2025-10-24T19:06:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.slickd.xyz/searxng/.git/commit/?id=50a4c653dc3b936ba9ffac01beec475baad8e92c'/>
<id>50a4c653dc3b936ba9ffac01beec475baad8e92c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[build] /static</title>
<updated>2025-10-20T08:18:33+00:00</updated>
<author>
<name>Markus Heiser</name>
<email>markus.heiser@darmarit.de</email>
</author>
<published>2025-10-18T15:48:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.slickd.xyz/searxng/.git/commit/?id=d84ae96cf97cd1b9d798ec5206dce846d8519c03'/>
<id>d84ae96cf97cd1b9d798ec5206dce846d8519c03</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[build] /static</title>
<updated>2025-10-17T13:59:53+00:00</updated>
<author>
<name>Bnyro</name>
<email>bnyro@tutanota.com</email>
</author>
<published>2025-10-12T18:54:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.slickd.xyz/searxng/.git/commit/?id=a6bb1ecf87908187ba9cb8190462132749235e1c'/>
<id>a6bb1ecf87908187ba9cb8190462132749235e1c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[build] /static</title>
<updated>2025-10-10T16:08:33+00:00</updated>
<author>
<name>Bnyro</name>
<email>bnyro@tutanota.com</email>
</author>
<published>2025-10-10T15:53:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.slickd.xyz/searxng/.git/commit/?id=899cf7e08a6da075a8baa04df31049d989352168'/>
<id>899cf7e08a6da075a8baa04df31049d989352168</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[build] /static</title>
<updated>2025-09-25T04:34:19+00:00</updated>
<author>
<name>Markus Heiser</name>
<email>markus.heiser@darmarit.de</email>
</author>
<published>2025-09-18T17:41:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.slickd.xyz/searxng/.git/commit/?id=4f4587650cc707a70ebd364c857173141a429ca1'/>
<id>4f4587650cc707a70ebd364c857173141a429ca1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[build] /static</title>
<updated>2025-09-20T08:56:46+00:00</updated>
<author>
<name>Markus Heiser</name>
<email>markus.heiser@darmarit.de</email>
</author>
<published>2025-09-18T17:48:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.slickd.xyz/searxng/.git/commit/?id=f9b4869426d8cc0d2a710171950113f3286674a9'/>
<id>f9b4869426d8cc0d2a710171950113f3286674a9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[build] /static</title>
<updated>2025-09-01T12:51:15+00:00</updated>
<author>
<name>Markus Heiser</name>
<email>markus.heiser@darmarit.de</email>
</author>
<published>2025-09-01T12:06:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.slickd.xyz/searxng/.git/commit/?id=e5d2685d8d4289605a0606dc61250a9088fde3a9'/>
<id>e5d2685d8d4289605a0606dc61250a9088fde3a9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[build] /static</title>
<updated>2025-08-18T14:38:32+00:00</updated>
<author>
<name>Markus Heiser</name>
<email>markus.heiser@darmarit.de</email>
</author>
<published>2025-08-18T10:26:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.slickd.xyz/searxng/.git/commit/?id=9b4ea6442949af48e5114d118057c06083a48466'/>
<id>9b4ea6442949af48e5114d118057c06083a48466</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[build] /static</title>
<updated>2025-07-16T09:02:12+00:00</updated>
<author>
<name>mrpaulblack</name>
<email>paul@paulgo.io</email>
</author>
<published>2025-07-14T18:21:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.slickd.xyz/searxng/.git/commit/?id=a0a2f0fd42a62c61141bf0fbc375170104ce30e0'/>
<id>a0a2f0fd42a62c61141bf0fbc375170104ce30e0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
