alamin655 commited on
Commit
5cc28ad
2 Parent(s): f883e78 9964be4

Merge branch 'rolling' into fix-links

Browse files
Files changed (5) hide show
  1. Cargo.lock +84 -84
  2. Cargo.toml +1 -1
  3. docs/configuration.md +19 -11
  4. docs/installation.md +10 -3
  5. docs/theming.md +316 -69
Cargo.lock CHANGED
@@ -66,7 +66,7 @@ dependencies = [
66
  "http 0.2.9",
67
  "httparse",
68
  "httpdate",
69
- "itoa 1.0.8",
70
  "language-tags",
71
  "local-channel",
72
  "mime",
@@ -87,7 +87,7 @@ version = "0.2.3"
87
  source = "registry+https://github.com/rust-lang/crates.io-index"
88
  checksum = "465a6172cf69b960917811022d8f29bc0b7fa1398bc4f78b3c466673db1213b6"
89
  dependencies = [
90
- "quote 1.0.29",
91
  "syn 1.0.109",
92
  ]
93
 
@@ -178,7 +178,7 @@ dependencies = [
178
  "futures-core",
179
  "futures-util",
180
  "http 0.2.9",
181
- "itoa 1.0.8",
182
  "language-tags",
183
  "log",
184
  "mime",
@@ -201,8 +201,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
201
  checksum = "2262160a7ae29e3415554a3f1fc04c764b1540c116aa524683208078b7a75bc9"
202
  dependencies = [
203
  "actix-router",
204
- "proc-macro2 1.0.64",
205
- "quote 1.0.29",
206
  "syn 1.0.109",
207
  ]
208
 
@@ -282,9 +282,9 @@ checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd"
282
 
283
  [[package]]
284
  name = "anyhow"
285
- version = "1.0.71"
286
  source = "registry+https://github.com/rust-lang/crates.io-index"
287
- checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
288
 
289
  [[package]]
290
  name = "askama_escape"
@@ -298,8 +298,8 @@ version = "0.1.71"
298
  source = "registry+https://github.com/rust-lang/crates.io-index"
299
  checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf"
300
  dependencies = [
301
- "proc-macro2 1.0.64",
302
- "quote 1.0.29",
303
  "syn 2.0.26",
304
  ]
305
 
@@ -517,18 +517,18 @@ dependencies = [
517
 
518
  [[package]]
519
  name = "clap"
520
- version = "4.3.12"
521
  source = "registry+https://github.com/rust-lang/crates.io-index"
522
- checksum = "3eab9e8ceb9afdade1ab3f0fd8dbce5b1b2f468ad653baf10e771781b2b67b73"
523
  dependencies = [
524
  "clap_builder",
525
  ]
526
 
527
  [[package]]
528
  name = "clap_builder"
529
- version = "4.3.12"
530
  source = "registry+https://github.com/rust-lang/crates.io-index"
531
- checksum = "9f2763db829349bf00cfc06251268865ed4363b93a943174f638daf3ecdba2cd"
532
  dependencies = [
533
  "anstyle",
534
  "clap_lex",
@@ -783,7 +783,7 @@ checksum = "5b3df4f93e5fbbe73ec01ec8d3f68bba73107993a5b1e7519273c32db9b0d5be"
783
  dependencies = [
784
  "cssparser-macros",
785
  "dtoa-short",
786
- "itoa 1.0.8",
787
  "phf 0.11.2",
788
  "smallvec 1.11.0",
789
  ]
@@ -794,7 +794,7 @@ version = "0.6.1"
794
  source = "registry+https://github.com/rust-lang/crates.io-index"
795
  checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
796
  dependencies = [
797
- "quote 1.0.29",
798
  "syn 2.0.26",
799
  ]
800
 
@@ -805,8 +805,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
805
  checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
806
  dependencies = [
807
  "convert_case",
808
- "proc-macro2 1.0.64",
809
- "quote 1.0.29",
810
  "rustc_version 0.4.0",
811
  "syn 1.0.109",
812
  ]
@@ -829,9 +829,9 @@ checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0"
829
 
830
  [[package]]
831
  name = "dtoa"
832
- version = "1.0.8"
833
  source = "registry+https://github.com/rust-lang/crates.io-index"
834
- checksum = "519b83cd10f5f6e969625a409f735182bea5558cd8b64c655806ceaae36f1999"
835
 
836
  [[package]]
837
  name = "dtoa-short"
@@ -839,7 +839,7 @@ version = "0.3.4"
839
  source = "registry+https://github.com/rust-lang/crates.io-index"
840
  checksum = "dbaceec3c6e4211c79e7b1800fb9680527106beb2f9c51904a3210c03a448c74"
841
  dependencies = [
842
- "dtoa 1.0.8",
843
  ]
844
 
845
  [[package]]
@@ -933,8 +933,8 @@ version = "0.1.8"
933
  source = "registry+https://github.com/rust-lang/crates.io-index"
934
  checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
935
  dependencies = [
936
- "proc-macro2 1.0.64",
937
- "quote 1.0.29",
938
  "syn 1.0.109",
939
  "synstructure",
940
  ]
@@ -1230,8 +1230,8 @@ dependencies = [
1230
  "log",
1231
  "mac",
1232
  "markup5ever 0.11.0",
1233
- "proc-macro2 1.0.64",
1234
- "quote 1.0.29",
1235
  "syn 1.0.109",
1236
  ]
1237
 
@@ -1254,7 +1254,7 @@ checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
1254
  dependencies = [
1255
  "bytes 1.4.0",
1256
  "fnv",
1257
- "itoa 1.0.8",
1258
  ]
1259
 
1260
  [[package]]
@@ -1349,7 +1349,7 @@ dependencies = [
1349
  "http-body 0.4.5",
1350
  "httparse",
1351
  "httpdate",
1352
- "itoa 1.0.8",
1353
  "pin-project-lite",
1354
  "socket2",
1355
  "tokio 1.29.1",
@@ -1489,9 +1489,9 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
1489
 
1490
  [[package]]
1491
  name = "itoa"
1492
- version = "1.0.8"
1493
  source = "registry+https://github.com/rust-lang/crates.io-index"
1494
- checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a"
1495
 
1496
  [[package]]
1497
  name = "jobserver"
@@ -1843,8 +1843,8 @@ version = "0.1.1"
1843
  source = "registry+https://github.com/rust-lang/crates.io-index"
1844
  checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
1845
  dependencies = [
1846
- "proc-macro2 1.0.64",
1847
- "quote 1.0.29",
1848
  "syn 2.0.26",
1849
  ]
1850
 
@@ -1917,9 +1917,9 @@ dependencies = [
1917
 
1918
  [[package]]
1919
  name = "paste"
1920
- version = "1.0.13"
1921
  source = "registry+https://github.com/rust-lang/crates.io-index"
1922
- checksum = "b4b27ab7be369122c218afc2079489cdcb4b517c0a3fc386ff11e1fedfcc2b35"
1923
 
1924
  [[package]]
1925
  name = "percent-encoding"
@@ -1935,9 +1935,9 @@ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
1935
 
1936
  [[package]]
1937
  name = "pest"
1938
- version = "2.7.0"
1939
  source = "registry+https://github.com/rust-lang/crates.io-index"
1940
- checksum = "f73935e4d55e2abf7f130186537b19e7a4abc886a0252380b59248af473a3fc9"
1941
  dependencies = [
1942
  "thiserror",
1943
  "ucd-trie",
@@ -1945,9 +1945,9 @@ dependencies = [
1945
 
1946
  [[package]]
1947
  name = "pest_derive"
1948
- version = "2.7.0"
1949
  source = "registry+https://github.com/rust-lang/crates.io-index"
1950
- checksum = "aef623c9bbfa0eedf5a0efba11a5ee83209c326653ca31ff019bec3a95bfff2b"
1951
  dependencies = [
1952
  "pest",
1953
  "pest_generator",
@@ -1955,22 +1955,22 @@ dependencies = [
1955
 
1956
  [[package]]
1957
  name = "pest_generator"
1958
- version = "2.7.0"
1959
  source = "registry+https://github.com/rust-lang/crates.io-index"
1960
- checksum = "b3e8cba4ec22bada7fc55ffe51e2deb6a0e0db2d0b7ab0b103acc80d2510c190"
1961
  dependencies = [
1962
  "pest",
1963
  "pest_meta",
1964
- "proc-macro2 1.0.64",
1965
- "quote 1.0.29",
1966
  "syn 2.0.26",
1967
  ]
1968
 
1969
  [[package]]
1970
  name = "pest_meta"
1971
- version = "2.7.0"
1972
  source = "registry+https://github.com/rust-lang/crates.io-index"
1973
- checksum = "a01f71cb40bd8bb94232df14b946909e14660e33fc05db3e50ae2a82d7ea0ca0"
1974
  dependencies = [
1975
  "once_cell",
1976
  "pest",
@@ -2063,8 +2063,8 @@ checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b"
2063
  dependencies = [
2064
  "phf_generator 0.11.2",
2065
  "phf_shared 0.11.2",
2066
- "proc-macro2 1.0.64",
2067
- "quote 1.0.29",
2068
  "syn 2.0.26",
2069
  ]
2070
 
@@ -2164,9 +2164,9 @@ dependencies = [
2164
 
2165
  [[package]]
2166
  name = "proc-macro2"
2167
- version = "1.0.64"
2168
  source = "registry+https://github.com/rust-lang/crates.io-index"
2169
- checksum = "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da"
2170
  dependencies = [
2171
  "unicode-ident",
2172
  ]
@@ -2192,11 +2192,11 @@ dependencies = [
2192
 
2193
  [[package]]
2194
  name = "quote"
2195
- version = "1.0.29"
2196
  source = "registry+https://github.com/rust-lang/crates.io-index"
2197
- checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
2198
  dependencies = [
2199
- "proc-macro2 1.0.64",
2200
  ]
2201
 
2202
  [[package]]
@@ -2373,7 +2373,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
2373
  checksum = "3ea8c51b5dc1d8e5fd3350ec8167f464ec0995e79f2e90a075b63371500d557f"
2374
  dependencies = [
2375
  "combine",
2376
- "itoa 1.0.8",
2377
  "percent-encoding 2.3.0",
2378
  "ryu",
2379
  "sha1_smol",
@@ -2540,7 +2540,7 @@ version = "0.4.0"
2540
  source = "registry+https://github.com/rust-lang/crates.io-index"
2541
  checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
2542
  dependencies = [
2543
- "semver 1.0.17",
2544
  ]
2545
 
2546
  [[package]]
@@ -2584,9 +2584,9 @@ dependencies = [
2584
 
2585
  [[package]]
2586
  name = "ryu"
2587
- version = "1.0.14"
2588
  source = "registry+https://github.com/rust-lang/crates.io-index"
2589
- checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9"
2590
 
2591
  [[package]]
2592
  name = "same-file"
@@ -2608,9 +2608,9 @@ dependencies = [
2608
 
2609
  [[package]]
2610
  name = "scopeguard"
2611
- version = "1.1.0"
2612
  source = "registry+https://github.com/rust-lang/crates.io-index"
2613
- checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
2614
 
2615
  [[package]]
2616
  name = "scraper"
@@ -2692,9 +2692,9 @@ dependencies = [
2692
 
2693
  [[package]]
2694
  name = "semver"
2695
- version = "1.0.17"
2696
  source = "registry+https://github.com/rust-lang/crates.io-index"
2697
- checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
2698
 
2699
  [[package]]
2700
  name = "semver-parser"
@@ -2717,18 +2717,18 @@ version = "1.0.171"
2717
  source = "registry+https://github.com/rust-lang/crates.io-index"
2718
  checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682"
2719
  dependencies = [
2720
- "proc-macro2 1.0.64",
2721
- "quote 1.0.29",
2722
  "syn 2.0.26",
2723
  ]
2724
 
2725
  [[package]]
2726
  name = "serde_json"
2727
- version = "1.0.102"
2728
  source = "registry+https://github.com/rust-lang/crates.io-index"
2729
- checksum = "b5062a995d481b2308b6064e9af76011f2921c35f97b0468811ed9f6cd91dfed"
2730
  dependencies = [
2731
- "itoa 1.0.8",
2732
  "ryu",
2733
  "serde",
2734
  ]
@@ -2752,7 +2752,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
2752
  checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
2753
  dependencies = [
2754
  "form_urlencoded",
2755
- "itoa 1.0.8",
2756
  "ryu",
2757
  "serde",
2758
  ]
@@ -2901,8 +2901,8 @@ checksum = "f0f45ed1b65bf9a4bf2f7b7dc59212d1926e9eaf00fa998988e420fd124467c6"
2901
  dependencies = [
2902
  "phf_generator 0.7.24",
2903
  "phf_shared 0.7.24",
2904
- "proc-macro2 1.0.64",
2905
- "quote 1.0.29",
2906
  "string_cache_shared",
2907
  ]
2908
 
@@ -2914,8 +2914,8 @@ checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988"
2914
  dependencies = [
2915
  "phf_generator 0.10.0",
2916
  "phf_shared 0.10.0",
2917
- "proc-macro2 1.0.64",
2918
- "quote 1.0.29",
2919
  ]
2920
 
2921
  [[package]]
@@ -2941,8 +2941,8 @@ version = "1.0.109"
2941
  source = "registry+https://github.com/rust-lang/crates.io-index"
2942
  checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
2943
  dependencies = [
2944
- "proc-macro2 1.0.64",
2945
- "quote 1.0.29",
2946
  "unicode-ident",
2947
  ]
2948
 
@@ -2952,8 +2952,8 @@ version = "2.0.26"
2952
  source = "registry+https://github.com/rust-lang/crates.io-index"
2953
  checksum = "45c3457aacde3c65315de5031ec191ce46604304d2446e803d71ade03308d970"
2954
  dependencies = [
2955
- "proc-macro2 1.0.64",
2956
- "quote 1.0.29",
2957
  "unicode-ident",
2958
  ]
2959
 
@@ -2963,8 +2963,8 @@ version = "0.12.6"
2963
  source = "registry+https://github.com/rust-lang/crates.io-index"
2964
  checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
2965
  dependencies = [
2966
- "proc-macro2 1.0.64",
2967
- "quote 1.0.29",
2968
  "syn 1.0.109",
2969
  "unicode-xid 0.2.4",
2970
  ]
@@ -3018,8 +3018,8 @@ version = "1.0.43"
3018
  source = "registry+https://github.com/rust-lang/crates.io-index"
3019
  checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f"
3020
  dependencies = [
3021
- "proc-macro2 1.0.64",
3022
- "quote 1.0.29",
3023
  "syn 2.0.26",
3024
  ]
3025
 
@@ -3040,7 +3040,7 @@ version = "0.3.23"
3040
  source = "registry+https://github.com/rust-lang/crates.io-index"
3041
  checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446"
3042
  dependencies = [
3043
- "itoa 1.0.8",
3044
  "serde",
3045
  "time-core",
3046
  "time-macros",
@@ -3173,8 +3173,8 @@ version = "2.1.0"
3173
  source = "registry+https://github.com/rust-lang/crates.io-index"
3174
  checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
3175
  dependencies = [
3176
- "proc-macro2 1.0.64",
3177
- "quote 1.0.29",
3178
  "syn 2.0.26",
3179
  ]
3180
 
@@ -3495,8 +3495,8 @@ dependencies = [
3495
  "bumpalo",
3496
  "log",
3497
  "once_cell",
3498
- "proc-macro2 1.0.64",
3499
- "quote 1.0.29",
3500
  "syn 2.0.26",
3501
  "wasm-bindgen-shared",
3502
  ]
@@ -3519,7 +3519,7 @@ version = "0.2.87"
3519
  source = "registry+https://github.com/rust-lang/crates.io-index"
3520
  checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
3521
  dependencies = [
3522
- "quote 1.0.29",
3523
  "wasm-bindgen-macro-support",
3524
  ]
3525
 
@@ -3529,8 +3529,8 @@ version = "0.2.87"
3529
  source = "registry+https://github.com/rust-lang/crates.io-index"
3530
  checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
3531
  dependencies = [
3532
- "proc-macro2 1.0.64",
3533
- "quote 1.0.29",
3534
  "syn 2.0.26",
3535
  "wasm-bindgen-backend",
3536
  "wasm-bindgen-shared",
@@ -3554,7 +3554,7 @@ dependencies = [
3554
 
3555
  [[package]]
3556
  name = "websurfx"
3557
- version = "0.14.0"
3558
  dependencies = [
3559
  "actix-files",
3560
  "actix-web",
 
66
  "http 0.2.9",
67
  "httparse",
68
  "httpdate",
69
+ "itoa 1.0.9",
70
  "language-tags",
71
  "local-channel",
72
  "mime",
 
87
  source = "registry+https://github.com/rust-lang/crates.io-index"
88
  checksum = "465a6172cf69b960917811022d8f29bc0b7fa1398bc4f78b3c466673db1213b6"
89
  dependencies = [
90
+ "quote 1.0.31",
91
  "syn 1.0.109",
92
  ]
93
 
 
178
  "futures-core",
179
  "futures-util",
180
  "http 0.2.9",
181
+ "itoa 1.0.9",
182
  "language-tags",
183
  "log",
184
  "mime",
 
201
  checksum = "2262160a7ae29e3415554a3f1fc04c764b1540c116aa524683208078b7a75bc9"
202
  dependencies = [
203
  "actix-router",
204
+ "proc-macro2 1.0.66",
205
+ "quote 1.0.31",
206
  "syn 1.0.109",
207
  ]
208
 
 
282
 
283
  [[package]]
284
  name = "anyhow"
285
+ version = "1.0.72"
286
  source = "registry+https://github.com/rust-lang/crates.io-index"
287
+ checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
288
 
289
  [[package]]
290
  name = "askama_escape"
 
298
  source = "registry+https://github.com/rust-lang/crates.io-index"
299
  checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf"
300
  dependencies = [
301
+ "proc-macro2 1.0.66",
302
+ "quote 1.0.31",
303
  "syn 2.0.26",
304
  ]
305
 
 
517
 
518
  [[package]]
519
  name = "clap"
520
+ version = "4.3.15"
521
  source = "registry+https://github.com/rust-lang/crates.io-index"
522
+ checksum = "8f644d0dac522c8b05ddc39aaaccc5b136d5dc4ff216610c5641e3be5becf56c"
523
  dependencies = [
524
  "clap_builder",
525
  ]
526
 
527
  [[package]]
528
  name = "clap_builder"
529
+ version = "4.3.15"
530
  source = "registry+https://github.com/rust-lang/crates.io-index"
531
+ checksum = "af410122b9778e024f9e0fb35682cc09cc3f85cad5e8d3ba8f47a9702df6e73d"
532
  dependencies = [
533
  "anstyle",
534
  "clap_lex",
 
783
  dependencies = [
784
  "cssparser-macros",
785
  "dtoa-short",
786
+ "itoa 1.0.9",
787
  "phf 0.11.2",
788
  "smallvec 1.11.0",
789
  ]
 
794
  source = "registry+https://github.com/rust-lang/crates.io-index"
795
  checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
796
  dependencies = [
797
+ "quote 1.0.31",
798
  "syn 2.0.26",
799
  ]
800
 
 
805
  checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
806
  dependencies = [
807
  "convert_case",
808
+ "proc-macro2 1.0.66",
809
+ "quote 1.0.31",
810
  "rustc_version 0.4.0",
811
  "syn 1.0.109",
812
  ]
 
829
 
830
  [[package]]
831
  name = "dtoa"
832
+ version = "1.0.9"
833
  source = "registry+https://github.com/rust-lang/crates.io-index"
834
+ checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653"
835
 
836
  [[package]]
837
  name = "dtoa-short"
 
839
  source = "registry+https://github.com/rust-lang/crates.io-index"
840
  checksum = "dbaceec3c6e4211c79e7b1800fb9680527106beb2f9c51904a3210c03a448c74"
841
  dependencies = [
842
+ "dtoa 1.0.9",
843
  ]
844
 
845
  [[package]]
 
933
  source = "registry+https://github.com/rust-lang/crates.io-index"
934
  checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
935
  dependencies = [
936
+ "proc-macro2 1.0.66",
937
+ "quote 1.0.31",
938
  "syn 1.0.109",
939
  "synstructure",
940
  ]
 
1230
  "log",
1231
  "mac",
1232
  "markup5ever 0.11.0",
1233
+ "proc-macro2 1.0.66",
1234
+ "quote 1.0.31",
1235
  "syn 1.0.109",
1236
  ]
1237
 
 
1254
  dependencies = [
1255
  "bytes 1.4.0",
1256
  "fnv",
1257
+ "itoa 1.0.9",
1258
  ]
1259
 
1260
  [[package]]
 
1349
  "http-body 0.4.5",
1350
  "httparse",
1351
  "httpdate",
1352
+ "itoa 1.0.9",
1353
  "pin-project-lite",
1354
  "socket2",
1355
  "tokio 1.29.1",
 
1489
 
1490
  [[package]]
1491
  name = "itoa"
1492
+ version = "1.0.9"
1493
  source = "registry+https://github.com/rust-lang/crates.io-index"
1494
+ checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
1495
 
1496
  [[package]]
1497
  name = "jobserver"
 
1843
  source = "registry+https://github.com/rust-lang/crates.io-index"
1844
  checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
1845
  dependencies = [
1846
+ "proc-macro2 1.0.66",
1847
+ "quote 1.0.31",
1848
  "syn 2.0.26",
1849
  ]
1850
 
 
1917
 
1918
  [[package]]
1919
  name = "paste"
1920
+ version = "1.0.14"
1921
  source = "registry+https://github.com/rust-lang/crates.io-index"
1922
+ checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
1923
 
1924
  [[package]]
1925
  name = "percent-encoding"
 
1935
 
1936
  [[package]]
1937
  name = "pest"
1938
+ version = "2.7.1"
1939
  source = "registry+https://github.com/rust-lang/crates.io-index"
1940
+ checksum = "0d2d1d55045829d65aad9d389139882ad623b33b904e7c9f1b10c5b8927298e5"
1941
  dependencies = [
1942
  "thiserror",
1943
  "ucd-trie",
 
1945
 
1946
  [[package]]
1947
  name = "pest_derive"
1948
+ version = "2.7.1"
1949
  source = "registry+https://github.com/rust-lang/crates.io-index"
1950
+ checksum = "5f94bca7e7a599d89dea5dfa309e217e7906c3c007fb9c3299c40b10d6a315d3"
1951
  dependencies = [
1952
  "pest",
1953
  "pest_generator",
 
1955
 
1956
  [[package]]
1957
  name = "pest_generator"
1958
+ version = "2.7.1"
1959
  source = "registry+https://github.com/rust-lang/crates.io-index"
1960
+ checksum = "99d490fe7e8556575ff6911e45567ab95e71617f43781e5c05490dc8d75c965c"
1961
  dependencies = [
1962
  "pest",
1963
  "pest_meta",
1964
+ "proc-macro2 1.0.66",
1965
+ "quote 1.0.31",
1966
  "syn 2.0.26",
1967
  ]
1968
 
1969
  [[package]]
1970
  name = "pest_meta"
1971
+ version = "2.7.1"
1972
  source = "registry+https://github.com/rust-lang/crates.io-index"
1973
+ checksum = "2674c66ebb4b4d9036012091b537aae5878970d6999f81a265034d85b136b341"
1974
  dependencies = [
1975
  "once_cell",
1976
  "pest",
 
2063
  dependencies = [
2064
  "phf_generator 0.11.2",
2065
  "phf_shared 0.11.2",
2066
+ "proc-macro2 1.0.66",
2067
+ "quote 1.0.31",
2068
  "syn 2.0.26",
2069
  ]
2070
 
 
2164
 
2165
  [[package]]
2166
  name = "proc-macro2"
2167
+ version = "1.0.66"
2168
  source = "registry+https://github.com/rust-lang/crates.io-index"
2169
+ checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
2170
  dependencies = [
2171
  "unicode-ident",
2172
  ]
 
2192
 
2193
  [[package]]
2194
  name = "quote"
2195
+ version = "1.0.31"
2196
  source = "registry+https://github.com/rust-lang/crates.io-index"
2197
+ checksum = "5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0"
2198
  dependencies = [
2199
+ "proc-macro2 1.0.66",
2200
  ]
2201
 
2202
  [[package]]
 
2373
  checksum = "3ea8c51b5dc1d8e5fd3350ec8167f464ec0995e79f2e90a075b63371500d557f"
2374
  dependencies = [
2375
  "combine",
2376
+ "itoa 1.0.9",
2377
  "percent-encoding 2.3.0",
2378
  "ryu",
2379
  "sha1_smol",
 
2540
  source = "registry+https://github.com/rust-lang/crates.io-index"
2541
  checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
2542
  dependencies = [
2543
+ "semver 1.0.18",
2544
  ]
2545
 
2546
  [[package]]
 
2584
 
2585
  [[package]]
2586
  name = "ryu"
2587
+ version = "1.0.15"
2588
  source = "registry+https://github.com/rust-lang/crates.io-index"
2589
+ checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
2590
 
2591
  [[package]]
2592
  name = "same-file"
 
2608
 
2609
  [[package]]
2610
  name = "scopeguard"
2611
+ version = "1.2.0"
2612
  source = "registry+https://github.com/rust-lang/crates.io-index"
2613
+ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
2614
 
2615
  [[package]]
2616
  name = "scraper"
 
2692
 
2693
  [[package]]
2694
  name = "semver"
2695
+ version = "1.0.18"
2696
  source = "registry+https://github.com/rust-lang/crates.io-index"
2697
+ checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
2698
 
2699
  [[package]]
2700
  name = "semver-parser"
 
2717
  source = "registry+https://github.com/rust-lang/crates.io-index"
2718
  checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682"
2719
  dependencies = [
2720
+ "proc-macro2 1.0.66",
2721
+ "quote 1.0.31",
2722
  "syn 2.0.26",
2723
  ]
2724
 
2725
  [[package]]
2726
  name = "serde_json"
2727
+ version = "1.0.103"
2728
  source = "registry+https://github.com/rust-lang/crates.io-index"
2729
+ checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
2730
  dependencies = [
2731
+ "itoa 1.0.9",
2732
  "ryu",
2733
  "serde",
2734
  ]
 
2752
  checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
2753
  dependencies = [
2754
  "form_urlencoded",
2755
+ "itoa 1.0.9",
2756
  "ryu",
2757
  "serde",
2758
  ]
 
2901
  dependencies = [
2902
  "phf_generator 0.7.24",
2903
  "phf_shared 0.7.24",
2904
+ "proc-macro2 1.0.66",
2905
+ "quote 1.0.31",
2906
  "string_cache_shared",
2907
  ]
2908
 
 
2914
  dependencies = [
2915
  "phf_generator 0.10.0",
2916
  "phf_shared 0.10.0",
2917
+ "proc-macro2 1.0.66",
2918
+ "quote 1.0.31",
2919
  ]
2920
 
2921
  [[package]]
 
2941
  source = "registry+https://github.com/rust-lang/crates.io-index"
2942
  checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
2943
  dependencies = [
2944
+ "proc-macro2 1.0.66",
2945
+ "quote 1.0.31",
2946
  "unicode-ident",
2947
  ]
2948
 
 
2952
  source = "registry+https://github.com/rust-lang/crates.io-index"
2953
  checksum = "45c3457aacde3c65315de5031ec191ce46604304d2446e803d71ade03308d970"
2954
  dependencies = [
2955
+ "proc-macro2 1.0.66",
2956
+ "quote 1.0.31",
2957
  "unicode-ident",
2958
  ]
2959
 
 
2963
  source = "registry+https://github.com/rust-lang/crates.io-index"
2964
  checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
2965
  dependencies = [
2966
+ "proc-macro2 1.0.66",
2967
+ "quote 1.0.31",
2968
  "syn 1.0.109",
2969
  "unicode-xid 0.2.4",
2970
  ]
 
3018
  source = "registry+https://github.com/rust-lang/crates.io-index"
3019
  checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f"
3020
  dependencies = [
3021
+ "proc-macro2 1.0.66",
3022
+ "quote 1.0.31",
3023
  "syn 2.0.26",
3024
  ]
3025
 
 
3040
  source = "registry+https://github.com/rust-lang/crates.io-index"
3041
  checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446"
3042
  dependencies = [
3043
+ "itoa 1.0.9",
3044
  "serde",
3045
  "time-core",
3046
  "time-macros",
 
3173
  source = "registry+https://github.com/rust-lang/crates.io-index"
3174
  checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
3175
  dependencies = [
3176
+ "proc-macro2 1.0.66",
3177
+ "quote 1.0.31",
3178
  "syn 2.0.26",
3179
  ]
3180
 
 
3495
  "bumpalo",
3496
  "log",
3497
  "once_cell",
3498
+ "proc-macro2 1.0.66",
3499
+ "quote 1.0.31",
3500
  "syn 2.0.26",
3501
  "wasm-bindgen-shared",
3502
  ]
 
3519
  source = "registry+https://github.com/rust-lang/crates.io-index"
3520
  checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
3521
  dependencies = [
3522
+ "quote 1.0.31",
3523
  "wasm-bindgen-macro-support",
3524
  ]
3525
 
 
3529
  source = "registry+https://github.com/rust-lang/crates.io-index"
3530
  checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
3531
  dependencies = [
3532
+ "proc-macro2 1.0.66",
3533
+ "quote 1.0.31",
3534
  "syn 2.0.26",
3535
  "wasm-bindgen-backend",
3536
  "wasm-bindgen-shared",
 
3554
 
3555
  [[package]]
3556
  name = "websurfx"
3557
+ version = "0.14.1"
3558
  dependencies = [
3559
  "actix-files",
3560
  "actix-web",
Cargo.toml CHANGED
@@ -1,6 +1,6 @@
1
  [package]
2
  name = "websurfx"
3
- version = "0.14.0"
4
  edition = "2021"
5
  description = "An open-source alternative to Searx that provides clean, ad-free, and organic results with incredible speed while keeping privacy and security in mind."
6
  repository = "https://github.com/neon-mmd/websurfx"
 
1
  [package]
2
  name = "websurfx"
3
+ version = "0.14.1"
4
  edition = "2021"
5
  description = "An open-source alternative to Searx that provides clean, ad-free, and organic results with incredible speed while keeping privacy and security in mind."
6
  repository = "https://github.com/neon-mmd/websurfx"
docs/configuration.md CHANGED
@@ -17,6 +17,7 @@ Some of the configuration options provided in the file are stated below. These a
17
  - Server
18
  - Website
19
  - Cache
 
20
 
21
  # General
22
 
@@ -33,17 +34,20 @@ Some of the configuration options provided in the file are stated below. These a
33
 
34
  - **colorscheme:** The colorscheme name which should be used for the website theme (the name should be in accordance to the colorscheme file name present in `public/static/colorschemes` folder).
35
 
36
- > By Default we provide 9 colorschemes to choose from these are:
37
  >
38
  > 1. catppuccin-mocha
39
- > 2. dracula
40
- > 3. monokai
41
- > 4. nord
42
- > 5. oceanic-next
43
- > 6. solarized-dark
44
- > 7. solarized-light
45
- > 8. tomorrow-night
46
- > 9. gruvbox-dark
 
 
 
47
 
48
  - **theme:** The theme name which should be used for the website (again, the name should be in accordance to the theme file name present in `public/static/themes` folder).
49
 
@@ -53,6 +57,10 @@ Some of the configuration options provided in the file are stated below. These a
53
 
54
  ## Cache
55
 
56
- - **redis_connection_url:** Redis connection url address on which the client should connect on.
57
 
58
- [⬅️ Go back to Home](./README.md)
 
 
 
 
 
17
  - Server
18
  - Website
19
  - Cache
20
+ - Search Engines
21
 
22
  # General
23
 
 
34
 
35
  - **colorscheme:** The colorscheme name which should be used for the website theme (the name should be in accordance to the colorscheme file name present in `public/static/colorschemes` folder).
36
 
37
+ > By Default we provide 12 colorschemes to choose from these are:
38
  >
39
  > 1. catppuccin-mocha
40
+ > 2. dark-chocolate
41
+ > 3. dracula
42
+ > 4. gruvbox-dark
43
+ > 5. monokai
44
+ > 6. nord
45
+ > 7. oceanic-next
46
+ > 8. one-dark
47
+ > 9. solarized-dark
48
+ > 10. solarized-light
49
+ > 11. tokyo-night
50
+ > 12. tomorrow-night
51
 
52
  - **theme:** The theme name which should be used for the website (again, the name should be in accordance to the theme file name present in `public/static/themes` folder).
53
 
 
57
 
58
  ## Cache
59
 
60
+ - **redis_url:** Redis connection url address on which the client should connect on.
61
 
62
+ ## Search Engines
63
+
64
+ - **upstream_search_engines:** Select from the different upstream search engines from which the results should be fetched.
65
+
66
+ [⬅️ Go back to Home](./README.md)
docs/installation.md CHANGED
@@ -10,7 +10,7 @@ paru -S websurfx-edge-git
10
 
11
  After installing it you can run the websurfx server by running the following commands:
12
 
13
- ``` bash
14
  redis-server --port 8082 &
15
  websurfx
16
  ```
@@ -19,7 +19,7 @@ Once you have started the server, open your preferred web browser and navigate t
19
 
20
  If you want to change the port or the ip or any other configuration setting checkout the [configuration docs](./configuration.md).
21
 
22
- ## Other Distros
23
 
24
  The package is currently not available on other Linux distros. With contribution and support it can be made available on other distros as well 🙂.
25
 
@@ -91,12 +91,16 @@ production_use = false -- whether to use production mode or not (in other words
91
  -- The different colorschemes provided are:
92
  -- {{
93
  -- catppuccin-mocha
 
94
  -- dracula
 
95
  -- monokai
96
  -- nord
97
  -- oceanic-next
 
98
  -- solarized-dark
99
  -- solarized-light
 
100
  -- tomorrow-night
101
  -- }}
102
  colorscheme = "catppuccin-mocha" -- the colorscheme name which should be used for the website theme
@@ -104,6 +108,9 @@ theme = "simple" -- the theme name which should be used for the website
104
 
105
  -- ### Caching ###
106
  redis_connection_url = "redis://redis:6379" -- redis connection url address on which the client should connect on.
 
 
 
107
  ```
108
 
109
  After this run the following command to deploy the app:
@@ -124,4 +131,4 @@ cd websurfx
124
  git checkout stable
125
  ```
126
 
127
- [⬅️ Go back to Home](./README.md)
 
10
 
11
  After installing it you can run the websurfx server by running the following commands:
12
 
13
+ ```bash
14
  redis-server --port 8082 &
15
  websurfx
16
  ```
 
19
 
20
  If you want to change the port or the ip or any other configuration setting checkout the [configuration docs](./configuration.md).
21
 
22
+ ## Other Distros
23
 
24
  The package is currently not available on other Linux distros. With contribution and support it can be made available on other distros as well 🙂.
25
 
 
91
  -- The different colorschemes provided are:
92
  -- {{
93
  -- catppuccin-mocha
94
+ -- dark-chocolate
95
  -- dracula
96
+ -- gruvbox-dark
97
  -- monokai
98
  -- nord
99
  -- oceanic-next
100
+ -- one-dark
101
  -- solarized-dark
102
  -- solarized-light
103
+ -- tokyo-night
104
  -- tomorrow-night
105
  -- }}
106
  colorscheme = "catppuccin-mocha" -- the colorscheme name which should be used for the website theme
 
108
 
109
  -- ### Caching ###
110
  redis_connection_url = "redis://redis:6379" -- redis connection url address on which the client should connect on.
111
+
112
+ -- ### Search Engines ###
113
+ upstream_search_engines = { DuckDuckGo = true, Searx = false } -- select the upstream search engines from which the results should be fetched.
114
  ```
115
 
116
  After this run the following command to deploy the app:
 
131
  git checkout stable
132
  ```
133
 
134
+ [⬅️ Go back to Home](./README.md)
docs/theming.md CHANGED
@@ -8,17 +8,17 @@ By default `websurfx` comes with 9 colorschemes to choose from which can be easi
8
 
9
  Creating coloschemes is as easy as it gets it requires the user to have a theme file name with the colorscheme in which every space should be replaced with a `-` (dash) and it should end with a `.css` file extension. After creating the file you need to add the following code with the `colors` you want:
10
 
11
- ``` css
12
- :root{
13
- --bg: <background color>;
14
- --fg: <foreground color (text color)>;
15
- --1: <color 1>;
16
- --2: <color 2>;
17
- --3: <color 3>;
18
- --4: <color 4>;
19
- --5: <color 5>;
20
- --6: <color 6>;
21
- --7: <color 7>;
22
  }
23
  ```
24
 
@@ -27,17 +27,17 @@ Creating coloschemes is as easy as it gets it requires the user to have a theme
27
 
28
  **Example of `catppuccin-mocha` colorscheme:**
29
 
30
- ``` css
31
  :root {
32
- --bg: #1e1e2e;
33
- --fg: #cdd6f4;
34
- --1: #45475a;
35
- --2: #f38ba8;
36
- --3: #a6e3a1;
37
- --4: #f9e2af;
38
- --5: #89b4fa;
39
- --6: #f5c2e7;
40
- --7: #ffffff;
41
  }
42
  ```
43
 
@@ -47,14 +47,15 @@ Creating coloschemes is as easy as it gets it requires the user to have a theme
47
 
48
  By default `websurfx` comes with 1 theme to choose from which can be easily chosen using the config file. To how to change themes please view the [Configuration](https://github.com/neon-mmd/websurfx/wiki/configuration) section of the wiki.
49
 
50
- ## Custom
51
 
52
- To write custom color scheme, it requires the user to have some knowledge of `css stylesheets`.
53
 
54
  **Here is an example of `simple theme` (which we provide by default with the app) which will give the user a better idea on how to create a custom theme using it as a template:**
55
 
56
  ### General
57
- ``` css
 
58
  * {
59
  padding: 0;
60
  margin: 0;
@@ -71,11 +72,13 @@ body {
71
  justify-content: space-between;
72
  align-items: center;
73
  height: 100vh;
74
- background: var(--1);
75
  }
76
  ```
 
77
  ### Styles for the index page
78
- ``` css
 
79
  .search-container {
80
  display: flex;
81
  flex-direction: column;
@@ -88,8 +91,10 @@ body {
88
  display: flex;
89
  }
90
  ```
 
91
  ### Styles for the search box and search button
92
- ``` css
 
93
  .search_bar {
94
  display: flex;
95
  }
@@ -101,7 +106,7 @@ body {
101
  outline: none;
102
  border: none;
103
  box-shadow: rgba(0, 0, 0, 1);
104
- background: var(--fg);
105
  }
106
 
107
  .search_bar button {
@@ -114,8 +119,8 @@ body {
114
  outline: none;
115
  border: none;
116
  gap: 0;
117
- background: var(--bg);
118
- color: var(--3);
119
  font-weight: 600;
120
  letter-spacing: 0.1rem;
121
  }
@@ -125,10 +130,12 @@ body {
125
  filter: brightness(1.2);
126
  }
127
  ```
 
128
  ### Styles for the footer and header
129
- ``` css
 
130
  header {
131
- background: var(--bg);
132
  width: 100%;
133
  display: flex;
134
  justify-content: right;
@@ -151,7 +158,7 @@ footer ul li a,
151
  header ul li a:visited,
152
  footer ul li a:visited {
153
  text-decoration: none;
154
- color: var(--2);
155
  text-transform: capitalize;
156
  letter-spacing: 0.1rem;
157
  }
@@ -162,7 +169,27 @@ header ul li a {
162
 
163
  header ul li a:hover,
164
  footer ul li a:hover {
165
- color: var(--5);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
166
  }
167
 
168
  footer div span {
@@ -185,8 +212,10 @@ footer {
185
  align-items: center;
186
  }
187
  ```
 
188
  ### Styles for the search page
189
- ``` css
 
190
  .results {
191
  width: 90%;
192
  display: flex;
@@ -213,28 +242,28 @@ footer {
213
 
214
  .results_aggregated .result h1 a {
215
  font-size: 1.5rem;
216
- color: var(--2);
217
  text-decoration: none;
218
  letter-spacing: 0.1rem;
219
  }
220
 
221
  .results_aggregated .result h1 a:hover {
222
- color: var(--5);
223
  }
224
 
225
  .results_aggregated .result h1 a:visited {
226
- color: var(--bg);
227
  }
228
 
229
  .results_aggregated .result small {
230
- color: var(--3);
231
  font-size: 1.1rem;
232
  word-wrap: break-word;
233
  line-break: anywhere;
234
  }
235
 
236
  .results_aggregated .result p {
237
- color: var(--fg);
238
  font-size: 1.2rem;
239
  margin-top: 0.3rem;
240
  word-wrap: break-word;
@@ -245,13 +274,13 @@ footer {
245
  text-align: right;
246
  font-size: 1.2rem;
247
  padding: 1rem;
248
- color: var(--5);
249
  }
250
  ```
251
 
252
- ### Styles for the 404 page
253
 
254
- ``` css
255
  .error_container {
256
  display: flex;
257
  justify-content: center;
@@ -290,16 +319,18 @@ footer {
290
 
291
  .error_content p a,
292
  .error_content p a:visited {
293
- color: var(--2);
294
  text-decoration: none;
295
  }
296
 
297
  .error_content p a:hover {
298
- color: var(--5);
299
  }
300
  ```
 
301
  ### Styles for the previous and next button on the search page
302
- ``` css
 
303
  .page_navigation {
304
  padding: 0 0 2rem 0;
305
  display: flex;
@@ -308,8 +339,8 @@ footer {
308
  }
309
 
310
  .page_navigation button {
311
- background: var(--bg);
312
- color: var(--fg);
313
  padding: 1rem;
314
  border-radius: 0.5rem;
315
  outline: none;
@@ -326,40 +357,256 @@ footer {
326
  This part is only available right now in the **rolling/edge/unstable** version
327
 
328
  ```css
329
- .about-container article{
330
- font-size: 1.5rem;
331
- color:var(--fg);
332
- padding-bottom: 10px;
333
- }
334
 
335
- .about-container article h1{
336
- color: var(--2);
337
- font-size: 2.8rem;
338
- }
339
 
340
- .about-container article div{
341
- padding-bottom: 15px;
342
- }
343
 
344
- .about-container a{
345
- color:var(--3);
346
  }
347
 
348
- .about-container article h2{
349
- color: var(--3);
350
  font-size: 1.8rem;
351
  padding-bottom: 10px;
352
  }
353
 
354
- .about-container p{
355
- color:var(--fg);
356
- font-size: 1.6rem;
357
  padding-bottom: 10px;
358
  }
359
 
360
- .about-container h3{
361
  font-size: 1.5rem;
362
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
363
  ```
364
 
365
- [⬅️ Go back to Home](./README.md)
 
8
 
9
  Creating coloschemes is as easy as it gets it requires the user to have a theme file name with the colorscheme in which every space should be replaced with a `-` (dash) and it should end with a `.css` file extension. After creating the file you need to add the following code with the `colors` you want:
10
 
11
+ ```css
12
+ :root {
13
+ --background-color: <background color>;
14
+ --foreground-color: <foreground color (text color on the website) >;
15
+ --color-one: <color 1>;
16
+ --color-two: <color 2>;
17
+ --color-three: <color 3>;
18
+ --color-four: <color 4>;
19
+ --color-five: <color 5>;
20
+ --color-six: <color 6>;
21
+ --color-seven: <color 7>;
22
  }
23
  ```
24
 
 
27
 
28
  **Example of `catppuccin-mocha` colorscheme:**
29
 
30
+ ```css
31
  :root {
32
+ --background-color: #1e1e2e;
33
+ --foreground-color: #cdd6f4;
34
+ --color-one: #45475a;
35
+ --color-two: #f38ba8;
36
+ --color-three: #a6e3a1;
37
+ --color-four: #f9e2af;
38
+ --color-five: #89b4fa;
39
+ --color-six: #f5c2e7;
40
+ --color-seven: #ffffff;
41
  }
42
  ```
43
 
 
47
 
48
  By default `websurfx` comes with 1 theme to choose from which can be easily chosen using the config file. To how to change themes please view the [Configuration](https://github.com/neon-mmd/websurfx/wiki/configuration) section of the wiki.
49
 
50
+ ## Custom
51
 
52
+ To write custom color scheme, it requires the user to have some knowledge of `css stylesheets`.
53
 
54
  **Here is an example of `simple theme` (which we provide by default with the app) which will give the user a better idea on how to create a custom theme using it as a template:**
55
 
56
  ### General
57
+
58
+ ```css
59
  * {
60
  padding: 0;
61
  margin: 0;
 
72
  justify-content: space-between;
73
  align-items: center;
74
  height: 100vh;
75
+ background: var(--color-one);
76
  }
77
  ```
78
+
79
  ### Styles for the index page
80
+
81
+ ```css
82
  .search-container {
83
  display: flex;
84
  flex-direction: column;
 
91
  display: flex;
92
  }
93
  ```
94
+
95
  ### Styles for the search box and search button
96
+
97
+ ```css
98
  .search_bar {
99
  display: flex;
100
  }
 
106
  outline: none;
107
  border: none;
108
  box-shadow: rgba(0, 0, 0, 1);
109
+ background: var(--foreground-color);
110
  }
111
 
112
  .search_bar button {
 
119
  outline: none;
120
  border: none;
121
  gap: 0;
122
+ background: var(--background-color);
123
+ color: var(--color-three);
124
  font-weight: 600;
125
  letter-spacing: 0.1rem;
126
  }
 
130
  filter: brightness(1.2);
131
  }
132
  ```
133
+
134
  ### Styles for the footer and header
135
+
136
+ ```css
137
  header {
138
+ background: var(--background-color);
139
  width: 100%;
140
  display: flex;
141
  justify-content: right;
 
158
  header ul li a:visited,
159
  footer ul li a:visited {
160
  text-decoration: none;
161
+ color: var(--color-two);
162
  text-transform: capitalize;
163
  letter-spacing: 0.1rem;
164
  }
 
169
 
170
  header ul li a:hover,
171
  footer ul li a:hover {
172
+ color: var(--color-five);
173
+ }
174
+
175
+ footer div span {
176
+ font-size: 1.5rem;
177
+ color: var(--color-four);
178
+ }
179
+
180
+ footer div {
181
+ display: flex;
182
+ gap: 1rem;
183
+ }
184
+
185
+ footer {
186
+ background: var(--background-color);
187
+ width: 100%;
188
+ padding: 1rem;
189
+ display: flex;
190
+ flex-direction: column;
191
+ justify-content: center;
192
+ align-items: center;
193
  }
194
 
195
  footer div span {
 
212
  align-items: center;
213
  }
214
  ```
215
+
216
  ### Styles for the search page
217
+
218
+ ```css
219
  .results {
220
  width: 90%;
221
  display: flex;
 
242
 
243
  .results_aggregated .result h1 a {
244
  font-size: 1.5rem;
245
+ color: var(--color-two);
246
  text-decoration: none;
247
  letter-spacing: 0.1rem;
248
  }
249
 
250
  .results_aggregated .result h1 a:hover {
251
+ color: var(--color-five);
252
  }
253
 
254
  .results_aggregated .result h1 a:visited {
255
+ color: var(--background-color);
256
  }
257
 
258
  .results_aggregated .result small {
259
+ color: var(--color-three);
260
  font-size: 1.1rem;
261
  word-wrap: break-word;
262
  line-break: anywhere;
263
  }
264
 
265
  .results_aggregated .result p {
266
+ color: var(--foreground-color);
267
  font-size: 1.2rem;
268
  margin-top: 0.3rem;
269
  word-wrap: break-word;
 
274
  text-align: right;
275
  font-size: 1.2rem;
276
  padding: 1rem;
277
+ color: var(--color-five);
278
  }
279
  ```
280
 
281
+ ### Styles for the 404 page
282
 
283
+ ```css
284
  .error_container {
285
  display: flex;
286
  justify-content: center;
 
319
 
320
  .error_content p a,
321
  .error_content p a:visited {
322
+ color: var(--color-two);
323
  text-decoration: none;
324
  }
325
 
326
  .error_content p a:hover {
327
+ color: var(--color-five);
328
  }
329
  ```
330
+
331
  ### Styles for the previous and next button on the search page
332
+
333
+ ```css
334
  .page_navigation {
335
  padding: 0 0 2rem 0;
336
  display: flex;
 
339
  }
340
 
341
  .page_navigation button {
342
+ background: var(--background-color);
343
+ color: var(--foreground-color);
344
  padding: 1rem;
345
  border-radius: 0.5rem;
346
  outline: none;
 
357
  This part is only available right now in the **rolling/edge/unstable** version
358
 
359
  ```css
360
+ .about-container article {
361
+ font-size: 1.5rem;
362
+ color: var(--foreground-color);
363
+ padding-bottom: 10px;
364
+ }
365
 
366
+ .about-container article h1 {
367
+ color: var(--color-two);
368
+ font-size: 2.8rem;
369
+ }
370
 
371
+ .about-container article div {
372
+ padding-bottom: 15px;
373
+ }
374
 
375
+ .about-container a {
376
+ color: var(--color-three);
377
  }
378
 
379
+ .about-container article h2 {
380
+ color: var(--color-three);
381
  font-size: 1.8rem;
382
  padding-bottom: 10px;
383
  }
384
 
385
+ .about-container p {
386
+ color: var(--foreground-color);
387
+ font-size: 1.6rem;
388
  padding-bottom: 10px;
389
  }
390
 
391
+ .about-container h3 {
392
  font-size: 1.5rem;
393
  }
394
+
395
+ .about-container {
396
+ width: 80%;
397
+ }
398
+ ```
399
+
400
+ ### Styles for the Settings Page
401
+
402
+ This part is only available right now in the **rolling/edge/unstable** version
403
+
404
+ ```css
405
+ .settings_container {
406
+ display: flex;
407
+ justify-content: space-around;
408
+ width: 80dvw;
409
+ }
410
+
411
+ .settings h1 {
412
+ color: var(--color-two);
413
+ font-size: 2.5rem;
414
+ }
415
+
416
+ .settings hr {
417
+ border-color: var(--color-three);
418
+ margin: 0.3rem 0 1rem 0;
419
+ }
420
+
421
+ .settings_container .sidebar {
422
+ width: 30%;
423
+ cursor: pointer;
424
+ font-size: 2rem;
425
+ display: flex;
426
+ flex-direction: column;
427
+ margin-right: 0.5rem;
428
+ margin-left: -0.7rem;
429
+ padding: 0.7rem;
430
+ border-radius: 5px;
431
+ font-weight: bold;
432
+ margin-bottom: 0.5rem;
433
+ color: var(--foreground-color);
434
+ text-transform: capitalize;
435
+ gap: 1.5rem;
436
+ }
437
+
438
+ .settings_container .sidebar .btn {
439
+ padding: 0.5rem;
440
+ border-radius: 0.5rem;
441
+ }
442
+
443
+ .settings_container .sidebar .btn.active {
444
+ background-color: var(--color-two);
445
+ }
446
+
447
+ .settings_container .main_container {
448
+ width: 70%;
449
+ border-left: 1.5px solid var(--color-three);
450
+ padding-left: 3rem;
451
+ }
452
+
453
+ .settings_container .tab {
454
+ display: none;
455
+ }
456
+
457
+ .settings_container .tab.active {
458
+ display: flex;
459
+ flex-direction: column;
460
+ justify-content: space-around;
461
+ }
462
+
463
+ .settings_container button {
464
+ margin-top: 1rem;
465
+ padding: 1rem 2rem;
466
+ font-size: 1.5rem;
467
+ background: var(--color-three);
468
+ color: var(--background-color);
469
+ border-radius: 0.5rem;
470
+ border: 2px solid transparent;
471
+ font-weight: bold;
472
+ transition: all 0.1s ease-out;
473
+ cursor: pointer;
474
+ box-shadow: 5px 5px;
475
+ outline: none;
476
+ }
477
+
478
+ .settings_container button:active {
479
+ box-shadow: none;
480
+ translate: 5px 5px;
481
+ }
482
+
483
+ .settings_container .main_container .message {
484
+ font-size: 1.5rem;
485
+ color: var(--foreground-color);
486
+ }
487
+
488
+ .settings_container .tab h3 {
489
+ font-size: 2rem;
490
+ font-weight: bold;
491
+ color: var(--color-four);
492
+ margin-top: 1.5rem;
493
+ text-transform: capitalize;
494
+ }
495
+
496
+ .settings_container .tab .description {
497
+ font-size: 1.5rem;
498
+ margin-bottom: 0.5rem;
499
+ color: var(--foreground-color);
500
+ }
501
+
502
+ .settings_container .user_interface select {
503
+ margin: 0.7rem 0;
504
+ width: 20rem;
505
+ background-color: var(--background-color);
506
+ color: var(--foreground-color);
507
+ padding: 1rem 2rem;
508
+ border-radius: 0.5rem;
509
+ outline: none;
510
+ border: none;
511
+ text-transform: capitalize;
512
+ }
513
+
514
+ .settings_container .user_interface option:hover {
515
+ background-color: var(--color-one);
516
+ }
517
+
518
+ .settings_container .engines .engine_selection {
519
+ display: flex;
520
+ flex-direction: column;
521
+ justify-content: center;
522
+ gap: 1rem;
523
+ padding: 1rem 0;
524
+ }
525
+
526
+ .settings_container .engines .toggle_btn {
527
+ color: var(--foreground-color);
528
+ font-size: 1.5rem;
529
+ display: flex;
530
+ gap: 0.5rem;
531
+ align-items: center;
532
+ }
533
+
534
+ .settings_container .engines hr {
535
+ margin: 0;
536
+ }
537
+
538
+ .settings_container .cookies input {
539
+ margin: 1rem 0rem;
540
+ }
541
+ ```
542
+
543
+ ### Styles for the Toggle Button
544
+
545
+ This part is only available right now in the **rolling/edge/unstable** version
546
+
547
+ ```css
548
+ /* The switch - the box around the slider */
549
+ .switch {
550
+ position: relative;
551
+ display: inline-block;
552
+ width: 6rem;
553
+ height: 3.4rem;
554
+ }
555
+
556
+ /* Hide default HTML checkbox */
557
+ .switch input {
558
+ opacity: 0;
559
+ width: 0;
560
+ height: 0;
561
+ }
562
+
563
+ /* The slider */
564
+ .slider {
565
+ position: absolute;
566
+ cursor: pointer;
567
+ top: 0;
568
+ left: 0;
569
+ right: 0;
570
+ bottom: 0;
571
+ background-color: var(--background-color);
572
+ -webkit-transition: 0.4s;
573
+ transition: 0.4s;
574
+ }
575
+
576
+ .slider:before {
577
+ position: absolute;
578
+ content: '';
579
+ height: 2.6rem;
580
+ width: 2.6rem;
581
+ left: 0.4rem;
582
+ bottom: 0.4rem;
583
+ background-color: var(--foreground-color);
584
+ -webkit-transition: 0.4s;
585
+ transition: 0.4s;
586
+ }
587
+
588
+ input:checked + .slider {
589
+ background-color: var(--color-three);
590
+ }
591
+
592
+ input:focus + .slider {
593
+ box-shadow: 0 0 1px var(--color-three);
594
+ }
595
+
596
+ input:checked + .slider:before {
597
+ -webkit-transform: translateX(2.6rem);
598
+ -ms-transform: translateX(2.6rem);
599
+ transform: translateX(2.6rem);
600
+ }
601
+
602
+ /* Rounded sliders */
603
+ .slider.round {
604
+ border-radius: 3.4rem;
605
+ }
606
+
607
+ .slider.round:before {
608
+ border-radius: 50%;
609
+ }
610
  ```
611
 
612
+ [⬅️ Go back to Home](./README.md)