table generator for readme, fix broken autocomplete
This commit is contained in:
@@ -37,21 +37,20 @@ tl;dr 4get is the best way to browse for shit.
|
|||||||
| Brave | Yandex | Vimeo | Brave | Swisscows | DuckDuckGo |
|
| Brave | Yandex | Vimeo | Brave | Swisscows | DuckDuckGo |
|
||||||
| Yandex | Brave | Sepia Search | Google | | Yandex |
|
| Yandex | Brave | Sepia Search | Google | | Yandex |
|
||||||
| Google | Google | DuckDuckGo | Yahoo! JAPAN | | Google |
|
| Google | Google | DuckDuckGo | Yahoo! JAPAN | | Google |
|
||||||
| Google API | Google API | Brave | Startpage | | Startpage |
|
| Google API | Google API | Brave | Startpage | | Qwant |
|
||||||
| Google CSE | Google CSE | Yandex | Qwant | | Kagi |
|
| Google CSE | Google CSE | Yandex | Baidu | | Marginalia |
|
||||||
| Yahoo! JAPAN | Yahoo! JAPAN | Google | Mojeek | | Qwant |
|
| Yahoo! JAPAN | Yahoo! JAPAN | Google | | | YouTube |
|
||||||
| Startpage | Startpage | Yahoo! JAPAN | Baidu | | Ghostery |
|
| Startpage | Startpage | Yahoo! JAPAN | | | SoundCloud |
|
||||||
| Qwant | Qwant | Startpage | | | Yep |
|
| Yep | Naver | Startpage | | | Startpage |
|
||||||
| Ghostery | Baidu | Qwant | | | Marginalia |
|
| Mwmbl | Baidu | Naver | | | Kagi |
|
||||||
| Yep | Solofield | Baidu | | | YouTube |
|
| Mojeek | Solofield | Baidu | | | |
|
||||||
| Mwmbl | Pinterest | Coc Coc | | | SoundCloud |
|
| Naver | Pinterest | Cốc Cốc | | | |
|
||||||
| Mojeek | Cara | Solofield | | | |
|
| Baidu | Flickr | Purili | | | |
|
||||||
| Baidu | Flickr | | | | |
|
| Cốc Cốc | Pexels | Solofield | | | |
|
||||||
| Coc Coc | Pexels | | | | |
|
|
||||||
| Solofield | Pixabay | | | | |
|
| Solofield | Pixabay | | | | |
|
||||||
| Marginalia | Unsplash | | | | |
|
| Marginalia | Unsplash | | | | |
|
||||||
| wiby | 500px | | | | |
|
| Purili | 500px | | | | |
|
||||||
| | VSCO | | | | |
|
| wiby | VSCO | | | | |
|
||||||
| | Imgur | | | | |
|
| | Imgur | | | | |
|
||||||
| | FindThatMeme | | | | |
|
| | FindThatMeme | | | | |
|
||||||
|
|
||||||
|
|||||||
+1
-3
@@ -15,13 +15,11 @@ class autocomplete{
|
|||||||
"yandex" => "https://suggest.yandex.com/suggest-ff.cgi?part={searchTerms}&uil=en&v=3&sn=5&lr=21276&yu=4861394161661655015",
|
"yandex" => "https://suggest.yandex.com/suggest-ff.cgi?part={searchTerms}&uil=en&v=3&sn=5&lr=21276&yu=4861394161661655015",
|
||||||
"google" => "https://www.google.com/complete/search?client=mobile-gws-lite&q={searchTerms}",
|
"google" => "https://www.google.com/complete/search?client=mobile-gws-lite&q={searchTerms}",
|
||||||
"qwant" => "https://api.qwant.com/v3/suggest/?q={searchTerms}&client=opensearch",
|
"qwant" => "https://api.qwant.com/v3/suggest/?q={searchTerms}&client=opensearch",
|
||||||
"yep" => "https://api.yep.com/ac/?query={searchTerms}",
|
|
||||||
"marginalia" => "https://search.marginalia.nu/suggest/?partial={searchTerms}",
|
"marginalia" => "https://search.marginalia.nu/suggest/?partial={searchTerms}",
|
||||||
"yt" => "https://suggestqueries-clients6.youtube.com/complete/search?client=youtube&q={searchTerms}",
|
"yt" => "https://suggestqueries-clients6.youtube.com/complete/search?client=youtube&q={searchTerms}",
|
||||||
"sc" => "",
|
"sc" => "",
|
||||||
"startpage" => "https://www.startpage.com/suggestions?q={searchTerms}&format=opensearch&segment=startpage.defaultffx&lui=english",
|
"startpage" => "https://www.startpage.com/suggestions?q={searchTerms}&format=opensearch&segment=startpage.defaultffx&lui=english",
|
||||||
"kagi" => "https://kagi.com/api/autosuggest?q={searchTerms}",
|
"kagi" => "https://kagi.com/api/autosuggest?q={searchTerms}"
|
||||||
"ghostery" => "https://ghosterysearch.com/suggest?q={searchTerms}"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -0,0 +1,151 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$scrapers = [
|
||||||
|
"web" => [
|
||||||
|
"DuckDuckGo",
|
||||||
|
"Brave",
|
||||||
|
"Yandex",
|
||||||
|
"Google",
|
||||||
|
"Google API",
|
||||||
|
"Google CSE",
|
||||||
|
"Yahoo! JAPAN",
|
||||||
|
"Startpage",
|
||||||
|
"Yep",
|
||||||
|
"Mwmbl",
|
||||||
|
"Mojeek",
|
||||||
|
"Naver",
|
||||||
|
"Baidu",
|
||||||
|
"Cốc Cốc",
|
||||||
|
"Solofield",
|
||||||
|
"Marginalia",
|
||||||
|
"Purili",
|
||||||
|
"wiby"
|
||||||
|
],
|
||||||
|
"images" => [
|
||||||
|
"DuckDuckGo",
|
||||||
|
"Yandex",
|
||||||
|
"Brave",
|
||||||
|
"Google",
|
||||||
|
"Google API",
|
||||||
|
"Google CSE",
|
||||||
|
"Yahoo! JAPAN",
|
||||||
|
"Startpage",
|
||||||
|
"Naver",
|
||||||
|
"Baidu",
|
||||||
|
"Solofield",
|
||||||
|
"Pinterest",
|
||||||
|
"Flickr",
|
||||||
|
"Pexels",
|
||||||
|
"Pixabay",
|
||||||
|
"Unsplash",
|
||||||
|
"500px",
|
||||||
|
"VSCO",
|
||||||
|
"Imgur",
|
||||||
|
"FindThatMeme"
|
||||||
|
],
|
||||||
|
"videos" => [
|
||||||
|
"YouTube",
|
||||||
|
"Vimeo",
|
||||||
|
"Sepia Search",
|
||||||
|
"DuckDuckGo",
|
||||||
|
"Brave",
|
||||||
|
"Yandex",
|
||||||
|
"Google",
|
||||||
|
"Yahoo! JAPAN",
|
||||||
|
"Startpage",
|
||||||
|
"Naver",
|
||||||
|
"Baidu",
|
||||||
|
"Cốc Cốc",
|
||||||
|
"Purili",
|
||||||
|
"Solofield"
|
||||||
|
],
|
||||||
|
"news" => [
|
||||||
|
"DuckDuckGo",
|
||||||
|
"Brave",
|
||||||
|
"Google",
|
||||||
|
"Yahoo! JAPAN",
|
||||||
|
"Startpage",
|
||||||
|
"Baidu"
|
||||||
|
],
|
||||||
|
"music" => [
|
||||||
|
"SoundCloud",
|
||||||
|
"Swisscows"
|
||||||
|
],
|
||||||
|
"autocomplete" => [
|
||||||
|
"Brave",
|
||||||
|
"DuckDuckGo",
|
||||||
|
"Yandex",
|
||||||
|
"Google",
|
||||||
|
"Qwant",
|
||||||
|
"Marginalia",
|
||||||
|
"YouTube",
|
||||||
|
"SoundCloud",
|
||||||
|
"Startpage",
|
||||||
|
"Kagi"
|
||||||
|
]
|
||||||
|
];
|
||||||
|
|
||||||
|
$lines = [
|
||||||
|
0 => "",
|
||||||
|
1 => ""
|
||||||
|
];
|
||||||
|
|
||||||
|
// get longest scraper string
|
||||||
|
// also get list of scrapers with most entries
|
||||||
|
$biggest_category_len = 0;
|
||||||
|
foreach($scrapers as $category_name => $category){
|
||||||
|
|
||||||
|
$count = count($category);
|
||||||
|
|
||||||
|
if($count > $biggest_category_len){
|
||||||
|
|
||||||
|
$biggest_category_len = $count;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach($scrapers as $category_name => $category){
|
||||||
|
|
||||||
|
// get longest string of the category
|
||||||
|
$longest_len = mb_strlen($category_name);
|
||||||
|
foreach($category as $scraper){
|
||||||
|
|
||||||
|
$strlen = mb_strlen($scraper);
|
||||||
|
|
||||||
|
if($strlen > $longest_len){
|
||||||
|
|
||||||
|
$longest_len = $strlen;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// add header
|
||||||
|
$lines[0] .= mb_str_pad("| {$category_name}", $longest_len + 3);
|
||||||
|
$lines[1] .= "|" . str_repeat("-", $longest_len + 2);
|
||||||
|
|
||||||
|
for($i=2; $i<count($category) + 2; $i++){
|
||||||
|
|
||||||
|
if(!isset($lines[$i])){
|
||||||
|
|
||||||
|
$lines[$i] = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
$lines[$i] .= mb_str_pad("| {$category[$i - 2]}", $longest_len + 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
if($i - 2 < $biggest_category_len){
|
||||||
|
|
||||||
|
for($k=$i; $k<$biggest_category_len + 2; $k++){
|
||||||
|
|
||||||
|
if(!isset($lines[$k])){
|
||||||
|
|
||||||
|
$lines[$k] = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
$lines[$k] .= "|" . str_repeat(" ", $longest_len + 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach($lines as $line){
|
||||||
|
|
||||||
|
echo $line . "|\n";
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user