Branded SearXNG fork for costmikuSearch
Find a file
Ivan Gabaldon 0b913053a7 [mod] theme/simple: migrate codebase to TypeScript
TypeScript is a superset of JavaScript, converting the entire theme to
TypeScript allows us to receive much more feedback on possible issues made in
package updates or our own typos, furthermore, it allows to transpile properly
to lower specs. This PR couldn't be done in smaller commits, a lot of work
needed to make everything *work properly*:

- A browser baseline has been set that requires minimum **Chromium 93, Firefox
  92 and Safari 15** (proper visuals/operation on older browser versions is not
  guaranteed)
- LightningCSS now handles minification and prefix creation for CSS.
- All hardcoded polyfills and support for previous browser baseline versions
  have been removed.
- Convert codebase to TypeScript.
- Convert IIFE to ESM, handling globals with IIFE is cumbersome, ESM is the
  standard for virtually any use of JS nowadays.
- Vite now builds the theme without the need for `vite-plugin-static-copy`.
- `searxng.ready` now accepts an array of conditions for the callback to be
  executed.
- Replace `leaflet` with `ol` as there were some issues with proper Vite
  bundling.
- Merged `head` with `main` script, as head was too small now.
- Add `assertElement` to properly check the existence of critical DOM elements.
- `searxng.on` renamed to `searxng.listen` with some handling improvements.
2025-08-18 16:38:32 +02:00
.devcontainer [fix] devcontainers: missing Valkey package (#4997) 2025-07-11 16:51:58 +02:00
.github [mod] theme/simple: migrate codebase to TypeScript 2025-08-18 16:38:32 +02:00
.vscode Add GitHub Codespaces configuration 2023-03-21 20:58:13 +00:00
client/simple [mod] theme/simple: migrate codebase to TypeScript 2025-08-18 16:38:32 +02:00
container [enh] container: tidy builds (#5086) 2025-08-07 10:46:26 +02:00
docs [mod] theme/simple: migrate codebase to TypeScript 2025-08-18 16:38:32 +02:00
searx [mod] theme/simple: migrate codebase to TypeScript 2025-08-18 16:38:32 +02:00
searxng_extra [fix] cleanup: rename searx leftovers to SearXNG (#5049) 2025-07-26 06:22:46 +02:00
tests [fix] revision of utils.HTMLTextExtractor (#5125) 2025-08-18 16:30:51 +02:00
utils [mod] theme/simple: migrate codebase to TypeScript 2025-08-18 16:38:32 +02:00
.coveragerc [mod] use github actions instead of travis 2020-11-17 15:09:06 +01:00
.dir-locals-template.el [fix] .dir-locals.el -> .dir-locals-template.el 2024-03-29 08:57:02 +01:00
.dockerignore [enh] container: tidy builds (#5086) 2025-08-07 10:46:26 +02:00
.editorconfig [mod] theme/simple: migrate codebase to TypeScript 2025-08-18 16:38:32 +02:00
.gitattributes [fix] update .gitattributes 2021-06-22 20:34:39 +02:00
.gitignore [mod] add Golang ecosystem to the SearXNG toolchain 2025-07-28 12:53:26 +02:00
.nvmrc [mod] theme/simple: migrate codebase to TypeScript 2025-08-18 16:38:32 +02:00
.pylintrc [upd] pypi: Bump pylint from 3.2.7 to 3.3.1 2024-10-15 14:29:10 +02:00
.tool-versions [mod] theme/simple: migrate codebase to TypeScript 2025-08-18 16:38:32 +02:00
.weblate weblate: migration to https://translate.codeberg.org/ 2023-01-21 15:45:12 +00:00
.yamllint.yml [enh] add test.yamllint - lint yaml files 2021-06-05 17:41:24 +02:00
AUTHORS.rst [fix] cleanup: rename searx leftovers to SearXNG (#5049) 2025-07-26 06:22:46 +02:00
babel.cfg [fix] jinja/babel: WithExtension and AutoEscapeExtension are built-in now. 2022-03-25 09:42:12 +01:00
CHANGELOG.rst [releases] rolling release: commit history replaces the CHANGELOG 2023-05-06 14:49:33 +02:00
CONTRIBUTING.md fix(docs): Fix development quickstart url 2024-01-06 16:20:38 +01:00
go.mod [mod] create a Go project with the developer tools from Go 2025-07-28 12:53:26 +02:00
go.sum [mod] create a Go project with the developer tools from Go 2025-07-28 12:53:26 +02:00
LICENSE [fix] full AGPLv3+ license according to #382 2015-07-04 18:23:54 +02:00
Makefile [fix] don't install pyright twice and do some clean up 2025-07-28 12:53:26 +02:00
manage [upd] pypi: Bump the minor group with 2 updates (#5077) 2025-08-01 10:55:45 +02:00
package.json [mod] theme/simple: migrate codebase to TypeScript 2025-08-18 16:38:32 +02:00
PULL_REQUEST_TEMPLATE.md [chore] fix typo and spacing in pull request template 2023-09-15 10:46:51 +02:00
pyrightconfig.json [fix] pyrightconfig.json include only dedicated folders in the test 2022-01-23 08:00:39 +01:00
README.rst [README] Updated logo paths 2025-03-07 13:40:31 +01:00
requirements-dev.txt [upd] pypi: Bump the minor group with 2 updates (#5077) 2025-08-01 10:55:45 +02:00
requirements-server.txt [upd] pypi: Bump the minor group with 2 updates (#5077) 2025-08-01 10:55:45 +02:00
requirements.txt [upd] pypi: Bump certifi from 2025.7.14 to 2025.8.3 in the minor group (#5097) 2025-08-08 09:36:24 +02:00
SECURITY.md [enh] add security policy 2022-01-25 00:56:20 +01:00
setup.py [mod] Revision of the favicon solution 2024-10-05 08:18:28 +02:00

.. SPDX-License-Identifier: AGPL-3.0-or-later

----

.. figure:: https://raw.githubusercontent.com/searxng/searxng/master/client/simple/src/brand/searxng.svg
   :target: https://docs.searxng.org/
   :alt: SearXNG
   :width: 100%
   :align: center

----

Privacy-respecting, hackable `metasearch engine`_

Searx.space_ lists ready-to-use running instances.

A user_, admin_ and developer_ handbook is available on the homepage_.

|SearXNG install|
|SearXNG homepage|
|SearXNG wiki|
|AGPL License|
|Issues|
|commits|
|weblate|
|SearXNG logo|

----

.. _searx.space: https://searx.space
.. _user: https://docs.searxng.org/user
.. _admin: https://docs.searxng.org/admin
.. _developer: https://docs.searxng.org/dev
.. _homepage: https://docs.searxng.org/
.. _metasearch engine: https://en.wikipedia.org/wiki/Metasearch_engine

.. |SearXNG logo| image:: https://raw.githubusercontent.com/searxng/searxng/master/client/simple/src/brand/searxng-wordmark.svg
   :target: https://docs.searxng.org/
   :width: 5%

.. |SearXNG install| image:: https://img.shields.io/badge/-install-blue
   :target: https://docs.searxng.org/admin/installation.html

.. |SearXNG homepage| image:: https://img.shields.io/badge/-homepage-blue
   :target: https://docs.searxng.org/

.. |SearXNG wiki| image:: https://img.shields.io/badge/-wiki-blue
   :target: https://github.com/searxng/searxng/wiki

.. |AGPL License|  image:: https://img.shields.io/badge/license-AGPL-blue.svg
   :target: https://github.com/searxng/searxng/blob/master/LICENSE

.. |Issues| image:: https://img.shields.io/github/issues/searxng/searxng?color=yellow&label=issues
   :target: https://github.com/searxng/searxng/issues

.. |PR| image:: https://img.shields.io/github/issues-pr-raw/searxng/searxng?color=yellow&label=PR
   :target: https://github.com/searxng/searxng/pulls

.. |commits| image:: https://img.shields.io/github/commit-activity/y/searxng/searxng?color=yellow&label=commits
   :target: https://github.com/searxng/searxng/commits/master

.. |weblate| image:: https://translate.codeberg.org/widgets/searxng/-/searxng/svg-badge.svg
   :target: https://translate.codeberg.org/projects/searxng/


Contact
=======

Ask questions or chat with the SearXNG community (this not a chatbot) on

IRC
  `#searxng on libera.chat <https://web.libera.chat/?channel=#searxng>`_
  which is bridged to Matrix.

Matrix
  `#searxng:matrix.org <https://matrix.to/#/#searxng:matrix.org>`_


Setup
=====

- A well maintained `Docker image`_, also built for ARM64 and ARM/v7
  architectures.
- Alternatively there are *up to date* `installation scripts`_.
- For individual setup consult our detailed `Step by step`_ instructions.
- To fine-tune your instance, take a look at the `Administrator documentation`_.

.. _Administrator documentation: https://docs.searxng.org/admin/index.html
.. _Step by step: https://docs.searxng.org/admin/installation-searxng.html
.. _installation scripts: https://docs.searxng.org/admin/installation-scripts.html
.. _Docker image: https://github.com/searxng/searxng-docker

Translations
============

.. _Weblate: https://translate.codeberg.org/projects/searxng/searxng/

Help translate SearXNG at `Weblate`_

.. figure:: https://translate.codeberg.org/widgets/searxng/-/multi-auto.svg
   :target: https://translate.codeberg.org/projects/searxng/


Contributing
============

.. _development quickstart: https://docs.searxng.org/dev/quickstart.html
.. _developer documentation: https://docs.searxng.org/dev/index.html

Are you a developer?  Have a look at our `development quickstart`_ guide, it's
very easy to contribute.  Additionally we have a `developer documentation`_.


Codespaces
==========

You can contribute from your browser using `GitHub Codespaces`_:

- Fork the repository
- Click on the ``<> Code`` green button
- Click on the ``Codespaces`` tab instead of ``Local``
- Click on ``Create codespace on master``
- VSCode is going to start in the browser
- Wait for ``git pull && make install`` to appear and then disappear
- You have `120 hours per month`_ (see also your `list of existing Codespaces`_)
- You can start SearXNG using ``make run`` in the terminal or by pressing ``Ctrl+Shift+B``

.. _GitHub Codespaces: https://docs.github.com/en/codespaces/overview
.. _120 hours per month: https://github.com/settings/billing
.. _list of existing Codespaces: https://github.com/codespaces