Merge pull request 'Added dashboard and decoupled from simple theme' (#1) from mupp into main

Reviewed-on: #1
This commit is contained in:
muppeth 2023-04-04 19:28:27 +00:00
commit 1c6aec00fa
58 changed files with 1469 additions and 852 deletions

View file

@ -18,14 +18,11 @@ Restart searx: `service uwsgi restart`
## How to edit/change this theme
All changes need to be done to Simple theme and then compiled. So:
- You have clone the upstream repo first: `git clone https://github.com/searxng/searxng.git searx`.
- Copy the `beetroot_static/src/less/definitions.less` and the `beetroot_static/src/less/disroot.less` from the beetroot theme repo to the clone (in `static/themes/simple/src/less/`).
- Edit the `static/themes/simple/src/less/definitions.less` and `static/themes/simple/src/less/disroot.less` files copied in the clone with the colors and rules you want.
- Once finished, build the theme: in searx root-src folder, as the searx user, do `make themes.simple`.
- Copy the content of the `static/themes/simple/css` folder obtained in the clone back to this repo (if you didn't change any images, you don't have to copy the `images` folder again). Don't forget to also copy `definitions.less` and `disroot.less`, if you changed those, back to the beetroot repo.
Simply clone the theme to your machine.
All changes done to the the templates do not require compilation, only searxng reload.
When changing static elements (css, images etc), edit files in `src/`. Once done run `grunt` to compile. You may need to install all dependencies first by running `npm install`.
If you want to test in live mode all your changes to the `Simple` theme, do `LIVE_THEME=simple make run` from searx-src folder and edit the `static/themes/simple/src/less/definitions.less` and `static/themes/simple/src/less/disroot.less` files as you wish.
If you want to test in live mode all your changes to the `beetroot` theme, you need working searx instance with your changes pulled into it. You can then either select the theme from UI or run searx with theme by running `LIVE_THEME=beetroot make run` from searx-src folder and edit.
## Screenshots
@ -37,4 +34,4 @@ If you want to test in live mode all your changes to the `Simple` theme, do `LIV
### Dark mode
![Dark mode](img/Dark01.png)
![Dark mode](img/Dark02.png)
![Dark mode](img/Dark03.png)
![Dark mode](img/Dark03.png)

View file

@ -0,0 +1,28 @@
{
"env": {
"browser": true,
"es2021": true,
"node": true
},
"extends": "eslint:recommended",
"parserOptions": {
"ecmaVersion": 12
},
"rules": {
"indent": ["error", 2],
"keyword-spacing": ["error", { "before": true, "after": true }],
"no-trailing-spaces": 2,
"space-before-function-paren": ["error", "always"],
"space-infix-ops": "error",
"comma-spacing": ["error", { "before": false, "after": true }],
"brace-style": ["error", "1tbs", { "allowSingleLine": true }],
"curly": ["error", "multi-line"],
"block-spacing": ["error", "always"],
"dot-location": ["error", "property"],
"key-spacing": ["error", { "beforeColon": false, "afterColon": true }],
"spaced-comment": ["error", "always", {
"line": { "markers": ["*package", "!", "/", ",", "="] },
"block": { "balanced": true, "markers": ["*package", "!", ",", ":", "::", "flow-include"], "exceptions": ["*"] }
}]
}
}

2
beetroot_static/.gitattributes vendored Normal file
View file

@ -0,0 +1,2 @@
leaflet.css -diff
leaflet.js -diff

2
beetroot_static/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
/node_modules
package-lock.json

View file

@ -0,0 +1,8 @@
{
"proto": true,
"globals": {
"browser": true,
"jQuery": false,
"devel": true
}
}

View file

@ -0,0 +1,7 @@
{
"extends": "stylelint-config-standard",
"rules": {
"declaration-empty-line-before": null,
"no-invalid-position-at-import-rule": null
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 466 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View file

@ -1,86 +1,99 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="92mm"
height="92mm"
viewBox="0 0 92 92"
width="52.916668mm"
height="52.916668mm"
viewBox="0 0 52.916668 52.916668"
version="1.1"
id="svg283"
sodipodi:docname="favicon.svg"
id="svg310"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
inkscape:export-filename="favicon.png"
inkscape:export-xdpi="72.058701"
inkscape:export-ydpi="72.058701"
sodipodi:docname="favicon.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs287" />
<sodipodi:namedview
id="namedview285"
id="namedview312"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="2.2805933"
inkscape:cx="187.45122"
inkscape:cy="180.87399"
inkscape:window-width="1920"
inkscape:window-height="995"
inkscape:zoom="0.72426347"
inkscape:cx="312.7315"
inkscape:cy="530.1938"
inkscape:window-width="2560"
inkscape:window-height="1403"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg283" />
inkscape:current-layer="layer1" />
<defs
id="defs307" />
<g
id="g12851-2"
transform="matrix(0.27333337,0,0,0.27333337,-18.69294,-5.0517884)"
style="stroke:#50152c;stroke-opacity:0.992157"
inkscape:export-filename="/home/fekete/Nextcloud-Antilopa/Disroot/Artwork/Icons/new_pngs/search.png"
inkscape:export-xdpi="1080.73"
inkscape:export-ydpi="1080.73">
<path
inkscape:connector-curvature="0"
id="path3814-0-7-1"
d="m 80.033739,36.455764 c -7.11959,15.242893 -10.17798,31.779192 -8.22563,48.814566 5.01677,43.77413 41.675291,79.3245 91.536091,95.16289 -6.62576,-22.40752 -5.34093,-44.9362 2.6395,-65.84431 C 118.24672,100.40622 84.338699,71.780528 80.033739,36.455764 Z"
style="fill:#50142b;fill-opacity:0.992157;fill-rule:nonzero;stroke:#50152c;stroke-opacity:0.992157" />
<path
inkscape:connector-curvature="0"
id="path3814-0-8"
d="m 313.2893,37.799153 c 7.11959,15.242893 10.17798,31.779192 8.22563,48.814566 -5.01677,43.774131 -41.67531,79.324501 -91.53611,95.162891 6.62576,-22.40752 5.34093,-44.9362 -2.6395,-65.84431 47.73698,-14.18269 81.64502,-42.808383 85.94998,-78.133147 z"
style="fill:#50142b;fill-opacity:0.992157;fill-rule:nonzero;stroke:#50152c;stroke-opacity:0.992157" />
<path
inkscape:connector-curvature="0"
id="rect3804-7"
d="m 201.77833,175.2842 12.07511,-13.9057 c 4.0785,-4.69679 19.95774,2.45971 35.60368,16.04598 l 130.50177,113.32219 c 15.64593,13.58626 24.95835,28.30512 20.87985,33.00192 l -12.07512,13.9057 c -4.07849,4.69679 -19.95774,-2.45971 -35.60367,-16.04598 L 222.65818,208.28612 C 207.01224,194.69986 197.69983,179.981 201.77833,175.2842 Z"
style="fill:#50142b;fill-opacity:0.992157;fill-rule:nonzero;stroke:#50152c;stroke-opacity:0.992157" />
<circle
r="107.58125"
cy="149.35568"
cx="196.89389"
id="path2987-9"
style="fill:#50142b;fill-opacity:0.992157;fill-rule:nonzero;stroke:#50152c;stroke-opacity:0.992157" />
<circle
r="72.430138"
cy="149.10315"
cx="196.64131"
id="path3757-9-0"
style="fill:#ffffff;fill-opacity:0.992157;fill-rule:nonzero;stroke:#50152c;stroke-width:0.713454;stroke-opacity:0.992157" />
<circle
r="27.274118"
cy="150.79912"
cx="197.85327"
id="path3800-2"
style="fill:#50132a;fill-opacity:1;fill-rule:nonzero;stroke:#50152c;stroke-opacity:0.992157" />
<circle
r="5.5558391"
cy="141.34952"
cx="208.98526"
id="path3802-3"
style="fill:#ffffff;fill-opacity:0.992157;fill-rule:nonzero;stroke:#50152c;stroke-opacity:0.992157" />
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-13.768987,-8.1793908)">
<g
id="g1653"
transform="matrix(0.88194444,0,0,0.88194444,-127.34211,86.672446)">
<circle
r="30"
cx="189.99998"
cy="-59"
id="circle23-562"
style="color:#000000;fill:#50162d;fill-opacity:0.988462;stroke-width:2.51156;enable-background:accumulate" />
<path
inkscape:connector-curvature="0"
id="path3814-0-7"
d="m 173.4803,-75.896588 c -0.79401,1.699956 -1.13509,3.544158 -0.91736,5.444019 0.55949,4.881886 4.64781,8.846622 10.20851,10.612989 -0.73893,-2.498986 -0.59564,-5.011485 0.29437,-7.343251 -5.32384,-1.581717 -9.10541,-4.774181 -9.58552,-8.713757 z"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.111524" />
<path
inkscape:connector-curvature="0"
id="path3814-0"
d="m 199.494,-75.746767 c 0.79401,1.699956 1.13509,3.544157 0.91736,5.444018 -0.55949,4.881887 -4.64782,8.846622 -10.20852,10.61299 0.73894,-2.498986 0.59565,-5.011485 -0.29437,-7.343251 5.32385,-1.581717 9.10542,-4.774182 9.58553,-8.713757 z"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.111524" />
<path
inkscape:connector-curvature="0"
id="rect3804"
d="m 187.0578,-60.413821 1.34667,-1.550826 c 0.45485,-0.523807 2.22578,0.274318 3.97068,1.789519 l 14.55414,12.638196 c 1.7449,1.515201 2.78347,3.156714 2.32861,3.680522 l -1.34667,1.550825 c -0.45485,0.523807 -2.22577,-0.274317 -3.97068,-1.789519 L 189.38641,-56.7333 c -1.7449,-1.5152 -2.78346,-3.156713 -2.32861,-3.680521 z"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.111524" />
<circle
r="11.997941"
cy="-63.305485"
cx="186.51306"
id="path2987"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.111524" />
<circle
r="9.4527321"
cy="-63.333649"
cx="186.48489"
id="path3757"
style="fill:#50152c;fill-opacity:0.992157;fill-rule:nonzero;stroke:none;stroke-width:0.0931117" />
<circle
r="8.0777321"
cy="-63.333649"
cx="186.48489"
id="path3757-9"
style="fill:#ffffff;fill-opacity:0.992157;fill-rule:nonzero;stroke:none;stroke-width:0.0795676" />
<circle
r="3.0417314"
cy="-63.144508"
cx="186.62006"
id="path3800"
style="fill:#50152c;fill-opacity:0.992157;fill-rule:nonzero;stroke:none;stroke-width:0.111524" />
<circle
r="0.61961198"
cy="-64.198372"
cx="187.86154"
id="path3802"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.111524" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 174 KiB

View file

@ -1,65 +1,92 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="853.677"
height="146.304"
viewBox="0 0 225.869 38.71"
width="184.84857"
height="170.00002"
viewBox="0 0 48.907851 44.979173"
version="1.1"
id="svg6"
sodipodi:docname="searxng.svg"
id="svg2514"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
inkscape:export-filename="searxng.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
sodipodi:docname="search.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs10" />
<sodipodi:namedview
id="namedview8"
id="namedview2516"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
bordercolor="#999999"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1.017006"
inkscape:cx="426.74283"
inkscape:cy="81.120468"
inkscape:zoom="0.5946522"
inkscape:cx="554.10541"
inkscape:cy="518.79065"
inkscape:window-width="1920"
inkscape:window-height="995"
inkscape:window-height="1019"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg6" />
inkscape:current-layer="layer1"
showguides="false" />
<defs
id="defs2511" />
<g
aria-label="SearXNG"
style="line-height:1.25;fill:#50162d;fill-opacity:1"
font-style="normal"
font-weight="400"
font-size="50.8px"
font-family="sans-serif"
fill="#487cff"
fill-opacity="1"
stroke="none"
stroke-width=".264583"
id="g4">
<path
d="M56.494 102.704q-1.168-1.22-3.048-2.032-1.88-.813-4.42-.813-3.15 0-5.08 1.32-1.93 1.27-1.93 3.455 0 2.337 3.708 3.607l7.671 2.641q3.963 1.321 5.842 3.404 1.88 2.083 1.88 5.13 0 4.065-2.185 7.011-2.184 2.896-5.943 4.42-3.76 1.524-8.484 1.524-5.334 0-9.042-1.778-3.709-1.829-5.537-5.131-.204-.356-.204-.711 0-.356.407-.61l4.013-2.438q.356-.254.762-.254.61 0 1.118.66 1.32 1.626 2.387 2.54 1.118.864 2.693 1.321 1.625.457 4.165.457 3.2 0 5.182-1.168 1.981-1.22 1.981-3.76 0-1.27-.914-2.082-.915-.864-2.947-1.575l-7.417-2.49q-3.657-1.218-5.588-3.555-1.88-2.388-1.88-5.436 0-3.759 2.134-6.655 2.134-2.895 5.69-4.47 3.607-1.575 7.874-1.575 4.369 0 7.67 1.575 3.354 1.524 5.182 3.962.407.508.407.762t-.356.458l-4.52 2.997q-.052.05-.204.05-.305 0-1.067-.761zM77.004 132.37q-3.607 0-6.401-1.472-2.794-1.474-4.318-4.115-1.524-2.693-1.524-6.198 0-4.165 1.981-7.874 2.032-3.759 5.537-5.994 3.556-2.286 7.925-2.286 5.334 0 8.484 3.15 3.15 3.149 3.15 8.686 0 1.473-.204 2.845-.101.406-.355.61-.204.152-.813.152h-17.12q-.813 0-.813 2.184 0 2.388 1.524 3.709 1.575 1.27 4.064 1.27 1.93 0 3.607-.813 1.677-.813 3.302-2.54.254-.254.508-.254.153 0 .66.203l3.353 1.575q.61.203.61.66 0 .254-.254.66-2.946 3.303-5.893 4.573-2.895 1.27-7.01 1.27zm6.451-16.56q1.22 0 1.22-1.981 0-1.93-1.169-3.251-1.168-1.372-3.251-1.372-2.54 0-4.521 1.93-1.93 1.88-2.235 4.674zM109.411 129.374q-3.048 2.997-8.331 2.997-3.556 0-5.588-1.829t-2.032-4.775q0-3.607 2.387-5.893 2.388-2.337 5.995-3.353 3.657-1.067 7.569-1.168l1.829-.153q.965 0 1.117-.965l.153-1.067q.05-.254.05-.812 0-3.048-3.505-3.048-4.013 0-5.943 3.15-.254.355-.66.355-.305 0-.458-.051l-4.927-1.168q-.508-.102-.508-.66 0-.509.254-1.017 3.352-5.486 12.649-5.486 5.486 0 8.026 1.93 2.591 1.93 2.591 5.334 0 .457-.102 1.473l-2.54 17.78q-.05.66-.203.813-.152.102-.711.102h-5.232q-.508 0-.66-.305-.153-.305-.204-1.016l.05-1.32q0-.407-.253-.407-.254 0-.813.559zm2.184-9.754v-.305q0-.203-.101-.254-.102-.101-.407-.05l-1.828.152q-2.947.203-5.487 1.473t-2.54 3.912q0 1.219.864 1.98.914.712 2.438.712 1.321 0 2.49-.356 1.168-.406 2.031-1.066 1.88-1.423 2.083-2.896zM123.864 131.863q-.61 0-.915-.356-.254-.355-.152-.914l3.505-24.943q.05-.457.152-.559.153-.152.56-.152h6.044q.915 0 .712 1.067l-.356 2.286v.203q0 .355.203.355.153 0 .457-.304 1.778-1.88 3.963-2.998 2.184-1.117 3.962-1.117 1.067 0 1.575.152.508.153.457.61l-.813 5.69q-.05.558-.203.71-.101.153-.406.102-1.727-.254-3.455-.254-1.32 0-2.794.711-1.473.66-2.54 1.778-1.016 1.067-1.168 2.134l-2.083 14.834q-.101.66-.355.812-.204.153-.966.153zM176.481 130.085q.457.813.457 1.219 0 .305-.254.457-.254.102-.762.102h-7.06q-.61 0-.966-.153-.305-.152-.508-.61l-5.639-11.734q-.254-.508-.508-.508-.152 0-.559.559l-9.042 11.836q-.254.407-.61.508-.304.102-1.066.102h-5.944q-1.016 0-1.016-.66 0-.458.762-1.525l13.005-16.306q.559-.61.559-1.067 0-.356-.102-.559l-8.484-16.56q-.152-.255-.152-.509 0-.508.762-.508h7.417q.66 0 .914.153.254.152.508.66l4.928 10.363q.152.407.355.407.204 0 .508-.407l8.027-10.566q.305-.407.559-.508.304-.102.965-.102h6.553q.61 0 .61.559 0 .406-.305.914l-12.599 15.647q-.508.66-.508.914 0 .203.153.508zM218.113 94.17q.355 0 .457.202.101.153.05.56l-5.13 36.372q-.05.356-.254.457-.153.102-.559.102h-5.182q-.66 0-1.168-.813l-13.106-22.708q-.153-.254-.305-.254-.305 0-.356.56l-3.15 22.402q-.1.508-.304.66-.153.153-.711.153h-5.588q-.813 0-.712-1.118l5.08-35.814q.102-.508.204-.61.152-.152.66-.152h6.147q.508 0 .762.254.305.203.559.711l11.988 21.184q.254.406.508.406.407 0 .458-.61l2.946-21.284q.05-.407.203-.508.203-.153.66-.153zM236.44 132.37q-4.572 0-7.925-1.93-3.353-1.93-5.131-5.435-1.727-3.556-1.727-8.331 0-6.3 2.489-11.532 2.49-5.283 7.061-8.382 4.572-3.099 10.516-3.099 4.064 0 7.163 1.575 3.15 1.575 4.876 4.166 1.728 2.54 1.83 5.435 0 .508-.102.762-.051.203-.254.254l-6.96 1.016h-.05q-.204 0-.356-.254-.102-.254-.254-1.016-.356-2.54-1.93-4.115-1.525-1.574-4.319-1.574-3.607 0-5.994 2.641-2.337 2.642-3.455 6.807-1.117 4.115-1.117 8.586 0 4.368 1.625 6.299 1.677 1.88 4.877 1.88 3.099 0 5.233-1.728 2.133-1.727 3.15-4.216l.304-1.423q.152-.254.152-.355 0-.305-.61-.305h-6.248q-.304 0-.406-.102-.102-.152-.05-.558l.456-4.166q.051-.559.508-.559l14.53.051q.609 0 .761.203.203.153.102.66l-2.49 17.577q-.05.66-.812.66h-1.524q-.457 0-.711-.152-.204-.152-.356-.61l-.864-3.708q-.05-.254-.355-.254t-.66.407q-1.677 2.083-4.37 3.454-2.692 1.372-6.603 1.372z"
style="-inkscape-font-specification:'Libre Franklin';fill:#50162d;fill-opacity:1"
transform="translate(-29.722 -93.661)"
font-style="normal"
font-variant="normal"
font-weight="400"
font-stretch="normal"
font-size="50.8px"
font-family="Libre Franklin"
fill="#487cff"
fill-opacity="1"
stroke-width=".264583"
id="path2" />
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-94.368149,-21.031308)">
<g
id="g12851-2"
transform="matrix(0.14750574,0,0,0.14750574,83.934984,15.918245)"
style="stroke:#50152c;stroke-opacity:0.992157"
inkscape:export-filename="../../../searxng-beetroot/beetroot_static/img/searxng.png"
inkscape:export-xdpi="1080.73"
inkscape:export-ydpi="1080.73">
<path
inkscape:connector-curvature="0"
id="path3814-0-7-1"
d="m 80.033739,36.455764 c -7.11959,15.242893 -10.17798,31.779192 -8.22563,48.814566 5.01677,43.77413 41.675291,79.3245 91.536091,95.16289 -6.62576,-22.40752 -5.34093,-44.9362 2.6395,-65.84431 C 118.24672,100.40622 84.338699,71.780528 80.033739,36.455764 Z"
style="fill:#50142b;fill-opacity:0.992157;fill-rule:nonzero;stroke:#50152c;stroke-opacity:0.992157" />
<path
inkscape:connector-curvature="0"
id="path3814-0-8"
d="m 313.2893,37.799153 c 7.11959,15.242893 10.17798,31.779192 8.22563,48.814566 -5.01677,43.774131 -41.67531,79.324501 -91.53611,95.162891 6.62576,-22.40752 5.34093,-44.9362 -2.6395,-65.84431 47.73698,-14.18269 81.64502,-42.808383 85.94998,-78.133147 z"
style="fill:#50142b;fill-opacity:0.992157;fill-rule:nonzero;stroke:#50152c;stroke-opacity:0.992157" />
<path
inkscape:connector-curvature="0"
id="rect3804-7"
d="m 201.77833,175.2842 12.07511,-13.9057 c 4.0785,-4.69679 19.95774,2.45971 35.60368,16.04598 l 130.50177,113.32219 c 15.64593,13.58626 24.95835,28.30512 20.87985,33.00192 l -12.07512,13.9057 c -4.07849,4.69679 -19.95774,-2.45971 -35.60367,-16.04598 L 222.65818,208.28612 C 207.01224,194.69986 197.69983,179.981 201.77833,175.2842 Z"
style="fill:#50142b;fill-opacity:0.992157;fill-rule:nonzero;stroke:#50152c;stroke-opacity:0.992157" />
<circle
r="107.58125"
cy="149.35568"
cx="196.89389"
id="path2987-9"
style="fill:#50142b;fill-opacity:0.992157;fill-rule:nonzero;stroke:#50152c;stroke-opacity:0.992157" />
<circle
r="72.430138"
cy="149.10315"
cx="196.64131"
id="path3757-9-0"
style="fill:#ffffff;fill-opacity:0.992157;fill-rule:nonzero;stroke:#50152c;stroke-width:0.713454;stroke-opacity:0.992157" />
<circle
r="27.274118"
cy="150.79912"
cx="197.85327"
id="path3800-2"
style="fill:#50132a;fill-opacity:1;fill-rule:nonzero;stroke:#50152c;stroke-opacity:0.992157" />
<circle
r="5.5558391"
cy="141.34952"
cx="208.98526"
id="path3802-3"
style="fill:#ffffff;fill-opacity:0.992157;fill-rule:nonzero;stroke:#50152c;stroke-opacity:0.992157" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

File diff suppressed because one or more lines are too long

View file

@ -1 +1 @@
{"version":3,"file":"searxng.head.min.js","sources":["../src/js/head/00_init.js"],"sourcesContent":["/* SPDX-License-Identifier: AGPL-3.0-or-later */\n(function (w, d) {\n 'use strict';\n\n // add data- properties\n var script = d.currentScript || (function () {\n var scripts = d.getElementsByTagName('script');\n return scripts[scripts.length - 1];\n })();\n\n w.searxng = {\n settings: JSON.parse(atob(script.getAttribute('client_settings')))\n };\n\n // update the css\n var hmtlElement = d.getElementsByTagName(\"html\")[0];\n hmtlElement.classList.remove('no-js');\n hmtlElement.classList.add('js');\n\n})(window, document);\n"],"names":["w","d","script","currentScript","scripts","getElementsByTagName","length","searxng","settings","JSON","parse","atob","getAttribute","hmtlElement","classList","remove","add","window","document"],"mappings":"CACA,SAAWA,EAAGC,gBAIZ,IAAIC,EAASD,EAAEE,eAAkB,WAC/B,IAAIC,EAAUH,EAAEI,qBAAqB,UACrC,OAAOD,EAAQA,EAAQE,OAAS,GAFD,GAKjCN,EAAEO,QAAU,CACVC,SAAUC,KAAKC,MAAMC,KAAKT,EAAOU,aAAa,sBAIhD,IAAIC,EAAcZ,EAAEI,qBAAqB,QAAQ,GACjDQ,EAAYC,UAAUC,OAAO,SAC7BF,EAAYC,UAAUE,IAAI,OAhB5B,CAkBGC,OAAQC"}
{"version":3,"file":"searxng.head.min.js","sources":["../src/js/head/00_init.js"],"sourcesContent":["/* SPDX-License-Identifier: AGPL-3.0-or-later */\n(function (w, d) {\n 'use strict';\n\n // add data- properties\n var script = d.currentScript || (function () {\n var scripts = d.getElementsByTagName('script');\n return scripts[scripts.length - 1];\n })();\n\n w.searxng = {\n settings: JSON.parse(atob(script.getAttribute('client_settings')))\n };\n\n // update the css\n var hmtlElement = d.getElementsByTagName(\"html\")[0];\n hmtlElement.classList.remove('no-js');\n hmtlElement.classList.add('js');\n\n})(window, document);\n"],"names":["w","d","script","currentScript","scripts","getElementsByTagName","length","searxng","settings","JSON","parse","atob","getAttribute","hmtlElement","classList","remove","add","window","document"],"mappings":"CACA,SAAWA,EAAGC,GACZ,aAGA,IAAIC,EAASD,EAAEE,eAAkB,WAC/B,IAAIC,EAAUH,EAAEI,qBAAqB,QAAQ,EAC7C,OAAOD,EAAQA,EAAQE,OAAS,EACjC,EAAE,EAEHN,EAAEO,QAAU,CACVC,SAAUC,KAAKC,MAAMC,KAAKT,EAAOU,aAAa,iBAAiB,CAAC,CAAC,CACnE,EAGA,IAAIC,EAAcZ,EAAEI,qBAAqB,MAAM,EAAE,GACjDQ,EAAYC,UAAUC,OAAO,OAAO,EACpCF,EAAYC,UAAUE,IAAI,IAAI,CAE/B,GAAEC,OAAQC,QAAQ"}

File diff suppressed because one or more lines are too long

View file

@ -11,10 +11,10 @@
--color-base-font-rgb: 68, 68, 68;
--color-base-background: #fff;
--color-base-background-mobile: #f2f5f8;
--color-url-font: var(--disroot-green);
--color-url-visited-font: var(--disroot-blueish);
--color-url-font: #334999;
--color-url-visited-font: #9822c3;
/// Header Colors
--color-header-background: var(--disroot-purple);
--color-header-background: #fdfbff;
--color-header-border: #ddd;
/// Footer Colors
--color-footer-background: #fdfbff;
@ -28,7 +28,7 @@
--color-backtotop-border: #ddd;
--color-backtotop-background: #fff;
/// Button Colors
--color-btn-background: var(--disroot-purple);
--color-btn-background: #3050ff;
--color-btn-font: #fff;
--color-show-btn-background: #bbb;
--color-show-btn-font: #000;
@ -46,8 +46,8 @@
--color-success: #42db34;
--color-success-background: lighten(#42db34, 40%);
/// Categories Colors
--color-categories-item-selected-font: var(--disroot-purple-even-lighter);
--color-categories-item-border-selected: var(--disroot-purple-even-lighter);
--color-categories-item-selected-font: #3050ff;
--color-categories-item-border-selected: #3050ff;
/// Autocomplete Colors
--color-autocomplete-font: #000;
--color-autocomplete-border: #bbb;
@ -62,11 +62,11 @@
--color-result-border: #ddd;
--color-result-url-font: #000;
--color-result-vim-selected: #f7f7f7;
--color-result-vim-arrow: var(--disroot-purple);
--color-result-vim-arrow: #000bbb;
--color-result-description-highlight-font: #000;
--color-result-link-font: var(--disroot-purple);
--color-result-link-font-highlight: var(--disroot-purple-even-lighter);
--color-result-link-visited-font: var(--disroot-green);
--color-result-link-font: #000bbb;
--color-result-link-font-highlight: #000bbb;
--color-result-link-visited-font: #9822c3;
--color-result-publishdate-font: #777;
--color-result-engines-font: #545454;
--color-result-search-url-border: #ddd;
@ -102,13 +102,13 @@
--color-toolkit-input-text-font: #222;
--color-toolkit-checkbox-onoff-off-background: #ddd;
--color-toolkit-checkbox-onoff-on-background: #ddd;
--color-toolkit-checkbox-onoff-on-mark-background: var(--disroot-purple);
--color-toolkit-checkbox-onoff-on-mark-background: #3050ff;
--color-toolkit-checkbox-onoff-on-mark-color: #fff;
--color-toolkit-checkbox-onoff-off-mark-background: #aaa;
--color-toolkit-checkbox-onoff-off-mark-color: #fff;
--color-toolkit-checkbox-label-background: #ddd;
--color-toolkit-checkbox-label-border: #ddd;
--color-toolkit-checkbox-input-border: var(--disroot-purple);
--color-toolkit-checkbox-input-border: #3050ff;
--color-toolkit-engine-tooltip-border: #ddd;
--color-toolkit-engine-tooltip-background: #fff;
--color-toolkit-loader-border: rgba(0, 0, 0, 0.2);
@ -123,10 +123,10 @@
--color-base-font-rgb: 187, 187, 187;
--color-base-background: #222428;
--color-base-background-mobile: #222428;
--color-url-font: var(--disroot-green);
--color-url-visited-font: var(--disroot-blueish-lighter);
--color-url-font: #8af;
--color-url-visited-font: #c09cd9;
/// Header Colors
--color-header-background: var(--disroot-purple-darker);
--color-header-background: #1e1e22;
--color-header-border: #333;
/// Footer Colors
--color-footer-background: #1e1e22;
@ -140,7 +140,7 @@
--color-backtotop-border: #333;
--color-backtotop-background: #2b2e36;
/// Button Colors
--color-btn-background: var(--disroot-purple);
--color-btn-background: #58f;
--color-btn-font: #222;
--color-show-btn-background: #555;
--color-show-btn-font: #fff;
@ -158,8 +158,8 @@
--color-success: #79f56e;
--color-success-background: darken(#42db34, 40%);
/// Categories Colors
--color-categories-item-selected-font: var(--disroot-purple-even-lighter);
--color-categories-item-border-selected: var(--disroot-purple-even-lighter);
--color-categories-item-selected-font: #58f;
--color-categories-item-border-selected: #58f;
/// Autocomplete Colors
--color-autocomplete-font: #fff;
--color-autocomplete-border: #555;
@ -174,11 +174,11 @@
--color-result-border: #333;
--color-result-url-font: #fff;
--color-result-vim-selected: #1f1f23cc;
--color-result-vim-arrow: var(--disroot-purple);
--color-result-vim-arrow: #8af;
--color-result-description-highlight-font: #fff;
--color-result-link-font: var(--disroot-purple-lighter);
--color-result-link-font-highlight: var(--disroot-purple-even-lighter);
--color-result-link-visited-font: var(--disroot-green);
--color-result-link-font: #8af;
--color-result-link-font-highlight: #8af;
--color-result-link-visited-font: #c09cd9;
--color-result-publishdate-font: #888;
--color-result-engines-font: #a4a4a4;
--color-result-search-url-border: #555;
@ -214,13 +214,13 @@
--color-toolkit-input-text-font: #fff;
--color-toolkit-checkbox-onoff-off-background: #313338;
--color-toolkit-checkbox-onoff-on-background: #313338;
--color-toolkit-checkbox-onoff-on-mark-background: var(--disroot-purple);
--color-toolkit-checkbox-onoff-on-mark-background: #58f;
--color-toolkit-checkbox-onoff-on-mark-color: #222;
--color-toolkit-checkbox-onoff-off-mark-background: #ddd;
--color-toolkit-checkbox-onoff-off-mark-color: #222;
--color-toolkit-checkbox-label-background: #222;
--color-toolkit-checkbox-label-border: #333;
--color-toolkit-checkbox-input-border: var(--disroot-purple-lighter);
--color-toolkit-checkbox-input-border: #58f;
--color-toolkit-engine-tooltip-border: #333;
--color-toolkit-engine-tooltip-background: #222;
--color-toolkit-loader-border: rgba(255, 255, 255, 0.2);
@ -229,8 +229,6 @@
--color-doc-code-background: #300;
}
@import "disroot.less";
/// Dark Theme (autoswitch based on device pref)
@media (prefers-color-scheme: dark) {
:root.theme-auto {
@ -276,4 +274,7 @@
// decoration of the select HTML elements
@select-light-svg-path: "../svg/select-light.svg";
@select-dark-svg-path: "../svg/select-dark.svg";
@select-dark-svg-path: "../svg/select-dark.svg";
//import disroot theme custom changes
@import "disroot.less";

View file

@ -13,8 +13,36 @@
--disroot-green-darker: #71911e;
--disroot-blueish: #1f5c60;
--disroot-blueish-lighter: #38989f;
--color-btn-font: white;
--color-url-font: var(--disroot-green);
--color-url-visited-font: var(--disroot-blueish);
--color-header-background: var(--disroot-purple);
--color-btn-background: var(--disroot-purple);
--color-categories-item-selected-font: var(--disroot-purple-even-lighter);
--color-categories-item-border-selected: var(--disroot-purple-even-lighter);
--color-result-vim-arrow: var(--disroot-purple);
--color-result-link-font: var(--disroot-purple);
--color-result-link-font-highlight: var(--disroot-purple-even-lighter);
--color-result-link-visited-font: var(--disroot-green);
--color-toolkit-checkbox-onoff-on-mark-background: var(--disroot-purple);
--color-toolkit-checkbox-input-border: var(--disroot-purple);
--color-search-background-hover: var(--disroot-purple);
}
.dark-themes() {
--color-url-font: var(--disroot-green);
--color-url-visited-font: var(--disroot-blueish-lighter);
--color-header-background: var(--disroot-purple-darker);
--color-btn-background: var(--disroot-purple);
--color-btn-font: var(--color-base-font);
--color-categories-item-selected-font: var(--disroot-purple-even-lighter);
--color-categories-item-border-selected: var(--disroot-purple-even-lighter);
--color-result-vim-arrow: var(--disroot-purple);
--color-result-link-font: var(--disroot-purple-lighter);
--color-result-link-font-highlight: var(--disroot-purple-even-lighter);
--color-result-link-visited-font: var(--disroot-green);
--color-toolkit-checkbox-input-border: var(--disroot-purple-lighter);
--color-search-background-hover: var(--disroot-purple-lighter);
}
// Category color
.category label {
color: #c0bbbb;
@ -40,6 +68,13 @@
fill: var(--disroot-purple-even-lighter);
}
//Logo
.index {
.title {
min-height: 8rem;
}
}
// Have a slightly more bright disroot purple color on logo png
// when in dark mode
.theme-dark .index .title {
@ -48,4 +83,44 @@
.theme-dark img.logo {
filter: brightness(1.25);
}
}
// Dashboard
.dashboard {
width: 50%;
margin-left: auto;
margin-right: auto;
margin-top: 60px;
}
.dashboard-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
justify-content: center;
align-items: center;
gap: 1rem;
}
.image-dash {
display: block;
margin-left: auto;
margin-right: auto;
width: 50%;
}
.dashlink-text {
//position: absolute;
bottom: 0;
left: 0;
right: 0;
text-align: center;
color: var(--color-base-font);
}
.image-dash img {
max-width: 100%;
height: auto;
&:hover {
filter: grayscale(1);
}
}

View file

@ -31,6 +31,7 @@
// to center the results
@import "style-center.less";
@import "disroot.less";
// ion-icon
.ion-icon {

381
beetroot_static/test.html Normal file
View file

@ -0,0 +1,381 @@
<!DOCTYPE html>
<html>
<head>
<title>Image Grid</title>
<style>
.image-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(4rem, 1fr));
justify-content: center;
align-items: center;
gap: 10px;
justify-items: center;
}
.image-container {
max-width: 4rem;
}
.image-container img {
max-width: 100%;
height: auto;
}
.image-container p {
text-align: center;
margin: 0;
padding: 5px;
font-size: 14px;
}
</style>
</head>
<body>
<div class="image-grid">
<div class="image-container">
<img src="image1.jpg">
<div><p>Title 1</p></div>
</div>
<div class="image-container">
<img src="image2.jpg">
<div><p>Title 2</p></div>
</div>
<div class="image-container">
<img src="image3.jpg">
<div><p>Title 3</p></div>
</div>
<div class="image-container">
<img src="image4.jpg">
<div><p>Title 4</p></div>
</div>
<div class="image-container">
<img src="image5.jpg">
<div><p>Title 5</p></div>
</div>
<div class="image-container">
<img src="image1.jpg">
<div><p>Title 1</p></div>
</div>
<div class="image-container">
<img src="image2.jpg">
<div><p>Title 2</p></div>
</div>
<div class="image-container">
<img src="image3.jpg">
<div><p>Title 3</p></div>
</div>
<div class="image-container">
<img src="image4.jpg">
<div><p>Title 4</p></div>
</div>
<div class="image-container">
<img src="image5.jpg">
<div><p>Title 5</p></div>
</div>
<div class="image-container">
<img src="image1.jpg">
<div><p>Title 1</p></div>
</div>
<div class="image-container">
<img src="image2.jpg">
<div><p>Title 2</p></div>
</div>
<div class="image-container">
<img src="image3.jpg">
<div><p>Title 3</p></div>
</div>
<div class="image-container">
<img src="image4.jpg">
<div><p>Title 4</p></div>
</div>
<div class="image-container">
<img src="image5.jpg">
<div><p>Title 5</p></div>
</div>
<div class="image-container">
<img src="image1.jpg">
<div><p>Title 1</p></div>
</div>
<div class="image-container">
<img src="image2.jpg">
<div><p>Title 2</p></div>
</div>
<div class="image-container">
<img src="image3.jpg">
<div><p>Title 3</p></div>
</div>
<div class="image-container">
<img src="image4.jpg">
<div><p>Title 4</p></div>
</div>
<div class="image-container">
<img src="image5.jpg">
<div><p>Title 5</p></div>
</div>
<div class="image-container">
<img src="image1.jpg">
<div><p>Title 1</p></div>
</div>
<div class="image-container">
<img src="image2.jpg">
<div><p>Title 2</p></div>
</div>
<div class="image-container">
<img src="image3.jpg">
<div><p>Title 3</p></div>
</div>
<div class="image-container">
<img src="image4.jpg">
<div><p>Title 4</p></div>
</div>
<div class="image-container">
<img src="image5.jpg">
<div><p>Title 5</p></div>
</div>
<div class="image-container">
<img src="image1.jpg">
<div><p>Title 1</p></div>
</div>
<div class="image-container">
<img src="image2.jpg">
<div><p>Title 2</p></div>
</div>
<div class="image-container">
<img src="image3.jpg">
<div><p>Title 3</p></div>
</div>
<div class="image-container">
<img src="image4.jpg">
<div><p>Title 4</p></div>
</div>
<div class="image-container">
<img src="image5.jpg">
<div><p>Title 5</p></div>
</div>
<div class="image-container">
<img src="image1.jpg">
<div><p>Title 1</p></div>
</div>
<div class="image-container">
<img src="image2.jpg">
<div><p>Title 2</p></div>
</div>
<div class="image-container">
<img src="image3.jpg">
<div><p>Title 3</p></div>
</div>
<div class="image-container">
<img src="image4.jpg">
<div><p>Title 4</p></div>
</div>
<div class="image-container">
<img src="image5.jpg">
<div><p>Title 5</p></div>
</div>
<div class="image-container">
<img src="image1.jpg">
<div><p>Title 1</p></div>
</div>
<div class="image-container">
<img src="image2.jpg">
<div><p>Title 2</p></div>
</div>
<div class="image-container">
<img src="image3.jpg">
<div><p>Title 3</p></div>
</div>
<div class="image-container">
<img src="image4.jpg">
<div><p>Title 4</p></div>
</div>
<div class="image-container">
<img src="image5.jpg">
<div><p>Title 5</p></div>
</div>
<div class="image-container">
<img src="image1.jpg">
<div><p>Title 1</p></div>
</div>
<div class="image-container">
<img src="image2.jpg">
<div><p>Title 2</p></div>
</div>
<div class="image-container">
<img src="image3.jpg">
<div><p>Title 3</p></div>
</div>
<div class="image-container">
<img src="image4.jpg">
<div><p>Title 4</p></div>
</div>
<div class="image-container">
<img src="image5.jpg">
<div><p>Title 5</p></div>
</div>
<div class="image-container">
<img src="image1.jpg">
<div><p>Title 1</p></div>
</div>
<div class="image-container">
<img src="image2.jpg">
<div><p>Title 2</p></div>
</div>
<div class="image-container">
<img src="image3.jpg">
<div><p>Title 3</p></div>
</div>
<div class="image-container">
<img src="image4.jpg">
<div><p>Title 4</p></div>
</div>
<div class="image-container">
<img src="image5.jpg">
<div><p>Title 5</p></div>
</div>
<div class="image-container">
<img src="image1.jpg">
<div><p>Title 1</p></div>
</div>
<div class="image-container">
<img src="image2.jpg">
<div><p>Title 2</p></div>
</div>
<div class="image-container">
<img src="image3.jpg">
<div><p>Title 3</p></div>
</div>
<div class="image-container">
<img src="image4.jpg">
<div><p>Title 4</p></div>
</div>
<div class="image-container">
<img src="image5.jpg">
<div><p>Title 5</p></div>
</div>
<div class="image-container">
<img src="image1.jpg">
<div><p>Title 1</p></div>
</div>
<div class="image-container">
<img src="image2.jpg">
<div><p>Title 2</p></div>
</div>
<div class="image-container">
<img src="image3.jpg">
<div><p>Title 3</p></div>
</div>
<div class="image-container">
<img src="image4.jpg">
<div><p>Title 4</p></div>
</div>
<div class="image-container">
<img src="image5.jpg">
<div><p>Title 5</p></div>
</div>
<div class="image-container">
<img src="image1.jpg">
<div><p>Title 1</p></div>
</div>
<div class="image-container">
<img src="image2.jpg">
<div><p>Title 2</p></div>
</div>
<div class="image-container">
<img src="image3.jpg">
<div><p>Title 3</p></div>
</div>
<div class="image-container">
<img src="image4.jpg">
<div><p>Title 4</p></div>
</div>
<div class="image-container">
<img src="image5.jpg">
<div><p>Title 5</p></div>
</div>
<div class="image-container">
<img src="image1.jpg">
<div><p>Title 1</p></div>
</div>
<div class="image-container">
<img src="image2.jpg">
<div><p>Title 2</p></div>
</div>
<div class="image-container">
<img src="image3.jpg">
<div><p>Title 3</p></div>
</div>
<div class="image-container">
<img src="image4.jpg">
<div><p>Title 4</p></div>
</div>
<div class="image-container">
<img src="image5.jpg">
<div><p>Title 5</p></div>
</div>
<div class="image-container">
<img src="image1.jpg">
<div><p>Title 1</p></div>
</div>
<div class="image-container">
<img src="image2.jpg">
<div><p>Title 2</p></div>
</div>
<div class="image-container">
<img src="image3.jpg">
<div><p>Title 3</p></div>
</div>
<div class="image-container">
<img src="image4.jpg">
<div><p>Title 4</p></div>
</div>
<div class="image-container">
<img src="image5.jpg">
<div><p>Title 5</p></div>
</div>
<div class="image-container">
<img src="image1.jpg">
<div><p>Title 1</p></div>
</div>
<div class="image-container">
<img src="image2.jpg">
<div><p>Title 2</p></div>
</div>
<div class="image-container">
<img src="image3.jpg">
<div><p>Title 3</p></div>
</div>
<div class="image-container">
<img src="image4.jpg">
<div><p>Title 4</p></div>
</div>
<div class="image-container">
<img src="image5.jpg">
<div><p>Title 5</p></div>
</div>
<div class="image-container">
<img src="image1.jpg">
<div><p>Title 1</p></div>
</div>
<div class="image-container">
<img src="image2.jpg">
<div><p>Title 2</p></div>
</div>
<div class="image-container">
<img src="image3.jpg">
<div><p>Title 3</p></div>
</div>
<div class="image-container">
<img src="image4.jpg">
<div><p>Title 4</p></div>
</div>
<div class="image-container">
<img src="image5.jpg">
<div><p>Title 5</p></div>
</div>
<div class="image-container">
<img src="image6.jpg">
<div><p>Title 6</p></div>
</div>
</div>
</body>
</html>

View file

@ -1,4 +1,4 @@
{% extends "simple/base.html" %}
{% extends "beetroot/base.html" %}
{% block content %}
<div class="center">
<h1>{{ _('Page not found') }}</h1>

View file

@ -28,7 +28,7 @@
<link rel="icon" href="{{ url_for('static', filename='img/favicon.svg') }}" type="image/svg+xml">
</head>
<body class="{{ endpoint }}_endpoint" >
<main id="main_{{ self._TemplateReference__context.name|replace("simple/", "")|replace(".html", "") }}" class="{{body_class}}">
<main id="main_{{ self._TemplateReference__context.name|replace("beetroot/", "")|replace(".html", "") }}" class="{{body_class}}">
{% if errors %}
<div class="dialog-error" role="alert">
<a href="#" class="close" aria-label="close" title="close">×</a>
@ -41,13 +41,18 @@
{% endif %}
<nav id="links_on_top">
{%- from 'simple/icons.html' import icon_big -%}
{%- from 'beetroot/icons.html' import icon_big -%}
{%- block custom_url -%}
<a href="{{ instance_name }}" class="link_on_top_about">{{ icon_big('people-outline') }}<span>{{ _('Account') }}</span></a>
<a href="https://howto.disroot.org" class="link_on_top_about">{{ icon_big('school-outline') }}<span>{{ _('Help') }}</span></a>
<a href="https://status.disroot.org" class="link_on_top_about">{{ icon_big('magnet-outline') }}<span>{{ _('Server Status') }}</span></a>
{%- endblock -%}
{%- block linkto_about -%}
<a href="{{ url_for('info', pagename='about') }}" class="link_on_top_about">{{ icon_big('information-circle-outline') }}<span>{{ _('About') }}</span></a>
{%- endblock -%}
{%- block linkto_donate -%}
{%- if donation_url -%}
<a href="{{ donation_url }}" class="link_on_top_donate">{{ icon_big('heart-outline') }}<span>{{ _('Donate') }}</span></a>
{%- if serverstatus_url -%}
<a href="{{ serverstatus_url }}" class="link_on_top_donate">{{ icon_big('heart-outline') }}<span>{{ _('Status') }}</span></a>
{%- endif -%}
{%- endblock -%}
{%- block linkto_preferences -%}

View file

@ -1,4 +1,4 @@
{% from 'simple/icons.html' import icon_big %}
{% from 'beetroot/icons.html' import icon_big %}
{%- set category_icons = {
'general': 'search-outline',
'images': 'image-outline',

View file

@ -1,8 +1,78 @@
{% extends "simple/base.html" %}
{% from 'simple/icons.html' import icon_big %}
{% extends "beetroot/base.html" %}
{% from 'beetroot/icons.html' import icon_big %}
{% block content %}
<div class="index">
<div class="title"><h1>SearXNG</h1></div>
{% include 'simple/simple_search.html' %}
{% include 'beetroot/simple_search.html' %}
</div>
<div class="dashboard">
<h1 class="title">More disroot apps:</h1>
<div class="dashboard-grid">
<div class="image-dash">
<a class="dashlink" href="https://webmail.disroot.org">
<img src="/static/themes/beetroot/img/dashboard/email_circle.png">
<div class="dashlink-text"><p>Webmail</p></div>
</a>
</div>
<div class="image-dash">
<a class="dashlink" href="https://cloud.disroot.org">
<img src="/static/themes/beetroot/img/dashboard/cloud_circle.png">
<div class="dashlink-text"><p>Cloud</p></div>
</a>
</div>
<div class="image-dash">
<a class="dashlink" href="https://webchat.disroot.org">
<img src="/static/themes/beetroot/img/dashboard/chat_circle.png">
<div class="dashlink-text"><p>Webchat</p></div>
</a>
</div>
<div class="image-dash">
<a class="dashlink" href="https://cryptpad.disroot.org">
<img src="/static/themes/beetroot/img/dashboard/cryptpad_circle.png">
<div class="dashlink-text"><p>Cryptpad</p></div>
</a>
</div>
<div class="image-dash">
<a class="dashlink" href="https://fe.disroot.org">
<img src="/static/themes/beetroot/img/dashboard/fe_circle.png">
<div class="dashlink-text"><p>Akkoma</p></div>
</a>
</div>
<div class="image-dash">
<a class="dashlink" href="https://git.disroot.org">
<img src="/static/themes/beetroot/img/dashboard/gitea_circle.png">
<div class="dashlink-text"><p>Git</p></div>
</a>
</div>
<div class="image-dash">
<a class="dashlink" href="https://upload.disroot.org">
<img src="/static/themes/beetroot/img/dashboard/upload_circle.png">
<div class="dashlink-text"><p>File share</p></div>
</a>
</div>
<div class="image-dash">
<a class="dashlink" href="https://pad.disroot.org">
<img src="/static/themes/beetroot/img/dashboard/pads_circle.png">
<div class="dashlink-text"><p>Ether pads</p></div>
</a>
</div>
<div class="image-dash">
<a class="dashlink" href="https://bin.disroot.org">
<img src="/static/themes/beetroot/img/dashboard/bin_circle.png">
<div class="dashlink-text"><p>Paste Bin</p></div>
</a>
</div>
<div class="image-dash">
<a class="dashlink" href="https://calls.disroot.org">
<img src="/static/themes/beetroot/img/dashboard/jitsi_circle.png">
<div class="dashlink-text"><p>Video Conference</p></div>
</a>
</div>
<div class="image-dash">
<a class="dashlink" href="https://mumble.disroot.org">
<img src="/static/themes/beetroot/img/dashboard/mumble_circle.png">
<div class="dashlink-text"><p>Audio Conference</p></div>
</a>
</div>
</div>
{% endblock %}

View file

@ -1,4 +1,4 @@
{% extends 'simple/page_with_header.html' %}
{% extends 'beetroot/page_with_header.html' %}
{% block title %}{{ active_page.title }} - {% endblock %}
{% block linkto_about %}{% endblock %}
{% block linkto_donate %}{% endblock %}

View file

@ -1,8 +1,8 @@
{% from 'simple/icons.html' import icon_small %}
{% from 'beetroot/icons.html' import icon_small %}
<!-- Draw favicon -->
{% macro draw_favicon(favicon) -%}
<img width="14" height="14" class="favicon" src="{{ url_for('static', filename='themes/simple/img/icons/' + favicon + '.png') }}" alt="{{ favicon }}">
<img width="14" height="14" class="favicon" src="{{ url_for('static', filename='themes/beetroot/img/icons/' + favicon + '.png') }}" alt="{{ favicon }}">
{%- endmacro %}
{% macro result_open_link(url, classes='') -%}

View file

@ -1,4 +1,4 @@
{% from 'simple/icons.html' import icon %}
{% from 'beetroot/icons.html' import icon %}
<div class="alert alert-info fade in" role="alert">
<strong class="lead">{{ icon('info-sign') }} {{ _('Information!') }}</strong>
{{ _('currently, there are no cookies defined.') }}