mirror of
https://github.com/MarginaliaSearch/MarginaliaSearch.git
synced 2025-10-06 17:32:39 +02:00
Compare commits
2 Commits
deploy-010
...
deploy-010
Author | SHA1 | Date | |
---|---|---|---|
|
426658f64e | ||
|
2181b22f05 |
@@ -444,7 +444,7 @@ public class HttpFetcherImpl implements HttpFetcher {
|
||||
|
||||
class SendLock implements AutoCloseable {
|
||||
|
||||
private static final Semaphore maxConcurrentRequests = new Semaphore(Integer.getInteger("crawler.maxConcurrentRequests", 100));
|
||||
private static final Semaphore maxConcurrentRequests = new Semaphore(Integer.getInteger("crawler.maxConcurrentRequests", 512));
|
||||
boolean closed = false;
|
||||
|
||||
public SendLock() {
|
||||
|
@@ -10,7 +10,7 @@
|
||||
|
||||
@template.part.head(title = "Marginalia Search - Explore")
|
||||
|
||||
<body class="min-h-screen bg-slate-100 dark:bg-gray-900 dark:text-white font-sans ">
|
||||
<body class="min-h-screen bg-bgblue dark:bg-gray-900 dark:text-white font-sans ">
|
||||
|
||||
@template.part.navbar(navbar = navbar)
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
</header>
|
||||
|
||||
<div class="max-w-[1400px] mx-auto flex flex-col gap-1 place-items-center">
|
||||
<div class="border dark:border-gray-600 bg-white dark:bg-gray-800 dark:text-gray-100 my-4 p-3 rounded overflow-hidden flex flex-col space-y-4">
|
||||
<div class="border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 dark:text-gray-100 my-4 p-3 rounded overflow-hidden flex flex-col space-y-4">
|
||||
@if (results.hasFocusDomain())
|
||||
<div class="flex space-x-1">
|
||||
<span>Showing websites similar to <a class="font-mono text-liteblue dark:text-blue-200" href="/site/${results.focusDomain()}"><i class="fas fa-globe"></i> <span class="underline">${results.focusDomain()}</span></a></span>
|
||||
@@ -36,7 +36,7 @@
|
||||
</div>
|
||||
<div class="grid-cols-1 gap-4 sm:grid sm:grid-cols-1 md:grid-cols-3 xl:grid-cols-4 mx-auto sm:p-4">
|
||||
@for (BrowseResult result : results.results())
|
||||
<div class="bg-white border dark:border-gray-600 dark:bg-gray-800 rounded overflow-hidden">
|
||||
<div class="bg-white border border-gray-300 dark:border-gray-600 dark:bg-gray-800 rounded overflow-hidden">
|
||||
<div class="bg-margeblue text-white p-2 flex space-x-4 text-sm">
|
||||
<span class="break-words">${result.displayDomain()}</span>
|
||||
<div class="grow"></div>
|
||||
|
@@ -9,6 +9,7 @@
|
||||
nicotine: '#f8f8ee',
|
||||
margeblue: '#3e5f6f',
|
||||
liteblue: '#0066cc',
|
||||
bgblue: '#e5e9eb',
|
||||
},
|
||||
screens: {
|
||||
'coarsepointer': {
|
||||
|
@@ -15,7 +15,7 @@
|
||||
|
||||
@template.part.head(title = "Marginalia Search - " + parameters.query())
|
||||
|
||||
<body class="min-h-screen bg-slate-100 dark:bg-gray-900 dark:text-white font-sans " >
|
||||
<body class="min-h-screen bg-bgblue dark:bg-gray-900 dark:text-white font-sans " >
|
||||
@template.part.navbar(navbar = navbar)
|
||||
|
||||
<div>
|
||||
|
@@ -9,7 +9,7 @@
|
||||
|
||||
@template.part.head(title = "Marginalia Search - Error")
|
||||
|
||||
<body class="min-h-screen bg-slate-100 dark:bg-gray-900 dark:text-white font-sans " >
|
||||
<body class="min-h-screen bg-bgblue dark:bg-gray-900 dark:text-white font-sans " >
|
||||
|
||||
@template.part.navbar(navbar = navbar)
|
||||
|
||||
|
@@ -11,7 +11,7 @@
|
||||
|
||||
@template.part.head(title = "Marginalia Search - " + results.getQuery())
|
||||
|
||||
<body class="min-h-screen bg-slate-100 dark:bg-gray-900 dark:text-white font-sans " >
|
||||
<body class="min-h-screen bg-bgblue dark:bg-gray-900 dark:text-white font-sans " >
|
||||
@template.part.navbar(navbar = navbar)
|
||||
|
||||
<div>
|
||||
|
@@ -13,7 +13,7 @@
|
||||
@for (List<SearchFilters.Filter> filterGroup : filters.getFilterGroups())
|
||||
@for (SearchFilters.Filter filter : filterGroup)
|
||||
<label class="flex items-center">
|
||||
<button title="${filter.displayName}" onclick="document.location='$unsafe{filter.url}'" class="flex-1 py-2 pl-2 rounded flex space-x-2 dark:has-[:checked]:bg-gray-950 has-[:checked]:bg-gray-100 has-[:checked]:text-slate-900 dark:has-[:checked]:text-slate-100 hover:bg-gray-50 dark:hover:bg-gray-950 bg-white dark:bg-gray-900 dark:border dark:border-gray-600 text-margeblue dark:text-slate-200 outline-1 active:outline">
|
||||
<button title="${filter.displayName}" onclick="document.location='$unsafe{filter.url}'" class="flex-1 py-2 pl-2 rounded flex space-x-2 dark:has-[:checked]:bg-gray-950 has-[:checked]:bg-gray-300 has-[:checked]:text-slate-900 dark:has-[:checked]:text-slate-100 hover:bg-gray-50 dark:hover:bg-gray-950 bg-white dark:bg-gray-900 dark:border dark:border-gray-600 text-margeblue dark:text-slate-200 outline-1 active:outline">
|
||||
@if (filter.current)
|
||||
<input type="checkbox" checked class="sr-only" aria-checked="true" />
|
||||
@else
|
||||
|
@@ -15,7 +15,7 @@
|
||||
|
||||
@template.part.head(title = "Marginalia Search", allowIndexing = true)
|
||||
|
||||
<body class="min-h-screen bg-slate-100 dark:bg-gray-900 dark:text-white font-sans " >
|
||||
<body class="min-h-screen bg-bgblue dark:bg-gray-900 dark:text-white font-sans " >
|
||||
|
||||
@template.part.navbar(navbar = navbar)
|
||||
|
||||
@@ -32,18 +32,14 @@
|
||||
|
||||
@if (model.news().isEmpty())
|
||||
<div class="max-w-7xl mx-auto flex flex-col space-y-4 fill-w">
|
||||
<div class="border dark:border-gray-600 dark:bg-gray-800 bg-white rounded p-2 m-4 ">
|
||||
<div class="border border-gray-300 border-gray-100 dark:border-gray-600 dark:bg-gray-800 bg-white rounded p-2 m-4 ">
|
||||
<div class="text-slate-700 dark:text-white text-sm p-4">
|
||||
<div class="fas fa-gift mr-1 text-margeblue dark:text-slate-200"></div>
|
||||
This is the new design and home of Marginalia Search.
|
||||
You can read about what this entails <a href="https://about.marginalia-search.com/article/redesign/" class="underline text-liteblue dark:text-blue-200">here</a>.
|
||||
<p class="my-4"></p>
|
||||
The old version of Marginalia Search remains available at
|
||||
<a href="https://old-search.marginalia.nu/" class="underline text-liteblue dark:text-blue-200">https://old-search.marginalia.nu/</a>.
|
||||
The old version of Marginalia Search remains available
|
||||
<a href="https://old-search.marginalia.nu/" class="underline text-liteblue dark:text-blue-200">here</a>.
|
||||
</div>
|
||||
</div>
|
||||
<div class="mx-auto flex flex-col sm:flex-row my-4 sm:space-x-2 space-y-2 sm:space-y-0 w-full md:w-auto px-2">
|
||||
<div class="flex flex-col border dark:border-gray-600 rounded overflow-hidden dark:bg-gray-800 bg-white p-6 space-y-3">
|
||||
<div class="flex flex-col border border-gray-300 dark:border-gray-600 rounded overflow-hidden dark:bg-gray-800 bg-white p-6 space-y-3">
|
||||
<div><i class="fas fa-sailboat mx-2 text-margeblue dark:text-slate-200"></i>Explore the Web</div>
|
||||
<ul class="list-disc ml-6 text-slate-700 dark:text-white text-xs leading-5">
|
||||
<li>Prioritizes non-commercial content</li>
|
||||
@@ -52,7 +48,7 @@
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col border dark:border-gray-600 rounded overflow-hidden dark:bg-gray-800 bg-white p-6 space-y-3 ">
|
||||
<div class="flex flex-col border border-gray-300 dark:border-gray-600 rounded overflow-hidden dark:bg-gray-800 bg-white p-6 space-y-3 ">
|
||||
<div><i class="fas fa-hand-holding-hand mx-2 text-margeblue dark:text-slate-200"></i>Open Source</div>
|
||||
<ul class="list-disc ml-6 text-slate-700 dark:text-white text-xs leading-5">
|
||||
<li>Custom index and crawler software</li>
|
||||
@@ -65,7 +61,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-col border dark:border-gray-600 rounded overflow-hidden dark:bg-gray-800 bg-white p-6 space-y-3 ">
|
||||
<div class="flex flex-col border border-gray-300 dark:border-gray-600 rounded overflow-hidden dark:bg-gray-800 bg-white p-6 space-y-3 ">
|
||||
<div><i class="fas fa-lock mx-2 text-margeblue dark:text-slate-200"></i> Privacy by default</div>
|
||||
<ul class="list-disc ml-6 text-slate-700 dark:text-white text-xs leading-5">
|
||||
<li>Filter out tracking and adtech</li>
|
||||
|
@@ -13,7 +13,7 @@
|
||||
|
||||
@template.part.head(title = "Marginalia Search - " + parameters.query())
|
||||
|
||||
<body class="min-h-screen bg-slate-100 dark:bg-gray-900 dark:text-white font-sans " >
|
||||
<body class="min-h-screen bg-bgblue dark:bg-gray-900 dark:text-white font-sans " >
|
||||
@template.part.navbar(navbar = navbar)
|
||||
|
||||
<div>
|
||||
|
@@ -11,7 +11,7 @@
|
||||
|
||||
@template.part.head(title = "Marginalia Search - " + model.domainA() + "/" + model.domainB())
|
||||
|
||||
<body class="min-h-screen bg-slate-100 dark:bg-gray-900 dark:text-white font-sans " >
|
||||
<body class="min-h-screen bg-bgblue dark:bg-gray-900 dark:text-white font-sans " >
|
||||
|
||||
@template.part.navbar(navbar = navbar)
|
||||
|
||||
|
@@ -9,7 +9,7 @@
|
||||
|
||||
@template.part.head(title = "Marginalia Search - " + model.domain())
|
||||
|
||||
<body class="min-h-screen bg-slate-100 dark:bg-gray-900 dark:text-white font-sans " >
|
||||
<body class="min-h-screen bg-bgblue dark:bg-gray-900 dark:text-white font-sans " >
|
||||
|
||||
@template.part.navbar(navbar = navbar)
|
||||
|
||||
|
@@ -7,7 +7,7 @@
|
||||
|
||||
@if (!list.isEmpty())
|
||||
|
||||
<div class="bg-white dark:bg-gray-800 shadow-sm rounded overflow-hidden border dark:border-gray-600">
|
||||
<div class="bg-white dark:bg-gray-800 shadow-sm rounded overflow-hidden border border-gray-300 dark:border-gray-600">
|
||||
<div class="px-4 py-2 bg-margeblue text-white border-b border-gray-200 dark:border-gray-600 flex place-items-baseline">
|
||||
<h2 class="text-md">${title}</h2>
|
||||
<div class="grow"></div>
|
||||
|
@@ -9,11 +9,11 @@
|
||||
|
||||
@template.part.head(title = "Marginalia Search - Site Viewer")
|
||||
|
||||
<body class="min-h-screen bg-slate-100 dark:bg-gray-900 dark:text-white font-sans " >
|
||||
<body class="min-h-screen bg-bgblue dark:bg-gray-900 dark:text-white font-sans " >
|
||||
|
||||
@template.part.navbar(navbar = navbar)
|
||||
|
||||
<header class="border-b border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 shadow-md">
|
||||
<header class="border-b border-gray-300 border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 shadow-md">
|
||||
<div class="max-w-[1400px] mx-auto px-4 py-4">
|
||||
<h1 class="text-base md:text-xl mr-2 md:mr-8 font-serif">View Site Information</h1>
|
||||
</div>
|
||||
@@ -22,7 +22,7 @@
|
||||
<div class="max-w-[1000px] mx-auto flex gap-4 flex-col md:flex-row place-items-center md:place-items-start p-4">
|
||||
|
||||
|
||||
<div class="border dark:border-gray-600 rounded md:my-4 overflow-hidden bg-white dark:bg-gray-800 flex flex-col space-y-2 flex-1">
|
||||
<div class="border border-gray-300 dark:border-gray-600 rounded md:my-4 overflow-hidden bg-white dark:bg-gray-800 flex flex-col space-y-2 flex-1">
|
||||
<div class="bg-margeblue text-white p-2 text-sm mb-2">View Site Information</div>
|
||||
|
||||
<p class="mx-4">This utility lets you explore what the search engine knows about the web,
|
||||
@@ -45,7 +45,7 @@
|
||||
</div>
|
||||
|
||||
@if (!model.domains().isEmpty())
|
||||
<div class="border dark:border-gray-600 rounded md:my-4 overflow-hidden w-full md:w-auto">
|
||||
<div class="border border-gray-300 dark:border-gray-600 rounded md:my-4 overflow-hidden w-full md:w-auto">
|
||||
<div class="bg-margeblue text-white p-2 text-sm">Recently Discovered Domains</div>
|
||||
|
||||
|
||||
|
@@ -8,17 +8,17 @@
|
||||
<div class="flex flex-col space-y-4 my-4 w-full">
|
||||
|
||||
@if (backlinks.results().isEmpty())
|
||||
<div class="border dark:border-gray-600 rounded bg-white dark:bg-gray-800 dark:text-white flex flex-col overflow-hidden p-4 mx-4 text-gray-800 text-sm ">
|
||||
<div class="border border-gray-300 dark:border-gray-600 rounded bg-white dark:bg-gray-800 dark:text-white flex flex-col overflow-hidden p-4 mx-4 text-gray-800 text-sm ">
|
||||
The search engine isn't aware of any backlinks to ${backlinks.domain()}!
|
||||
</div>
|
||||
@else
|
||||
<div class="border dark:border-gray-600 rounded bg-white dark:bg-gray-800 dark:text-white flex flex-col overflow-hidden p-4 mx-4 text-gray-800 text-sm">
|
||||
<div class="border border-gray-300 dark:border-gray-600 rounded bg-white dark:bg-gray-800 dark:text-white flex flex-col overflow-hidden p-4 mx-4 text-gray-800 text-sm">
|
||||
Showing documents linking to ${backlinks.domain()}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@for (GroupedUrlDetails group : backlinks.results())
|
||||
<div class="border dark:border-gray-600 rounded bg-white dark:bg-gray-800 dark:text-white flex flex-col overflow-hidden mx-4">
|
||||
<div class="border dark:border-gray-600 border-gray-300 rounded bg-white dark:bg-gray-800 dark:text-white flex flex-col overflow-hidden mx-4">
|
||||
<div class="flex space-x-2 flex-row place-items-baseline bg-margeblue text-white p-2 text-md">
|
||||
<span class="fas fa-globe"></span>
|
||||
<a href="/site/${group.domain().toString()}">${group.domain().toString()}</a>
|
||||
|
@@ -9,17 +9,17 @@
|
||||
<div class="flex flex-col space-y-4 my-4">
|
||||
|
||||
@if (docs.results().isEmpty())
|
||||
<div class="border dark:border-gray-600 rounded bg-white dark:bg-gray-800 dark:text-white flex flex-col overflow-hidden p-4 mx-4 text-gray-800 text-sm">
|
||||
<div class="border border-gray-300 dark:border-gray-600 rounded bg-white dark:bg-gray-800 dark:text-white flex flex-col overflow-hidden p-4 mx-4 text-gray-800 text-sm">
|
||||
The search engine doesn't index any documents from ${docs.domain()}
|
||||
</div>
|
||||
@else
|
||||
<div class="border dark:border-gray-600 rounded bg-white dark:bg-gray-800 dark:text-white flex flex-col overflow-hidden p-4 mx-4 text-gray-800 text-sm">
|
||||
<div class="border border-gray-300 dark:border-gray-600 rounded bg-white dark:bg-gray-800 dark:text-white flex flex-col overflow-hidden p-4 mx-4 text-gray-800 text-sm">
|
||||
Showing documents from ${docs.domain()}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@for (UrlDetails details : docs.results())
|
||||
<div class="border dark:border-gray-600 rounded bg-white dark:bg-gray-800 dark:text-white flex flex-col overflow-hidden mx-4">
|
||||
<div class="border border-gray-300 dark:border-gray-600 rounded bg-white dark:bg-gray-800 dark:text-white flex flex-col overflow-hidden mx-4">
|
||||
<div class="flex grow justify-between items-start p-4">
|
||||
<div class="flex-1">
|
||||
<h2 class="text-xl text-gray-800 dark:text-white font-serif mr-4">
|
||||
|
@@ -8,7 +8,7 @@
|
||||
<!-- Main content -->
|
||||
|
||||
<div class="flex-1 p-4 space-y-4 mx-auto w-full md:w-auto">
|
||||
<div class="flex border dark:border-gray-600 rounded bg-white dark:bg-gray-800 flex-col space-y-4 pb-4 overflow-hidden md:max-w-lg" >
|
||||
<div class="flex border border-gray-300 dark:border-gray-600 rounded bg-white dark:bg-gray-800 flex-col space-y-4 pb-4 overflow-hidden md:max-w-lg" >
|
||||
<div class="flex place-items-center space-x-2 p-2 text-md border-b dark:border-gray-600 bg-margeblue text-white">
|
||||
<img src="/site/${siteInfo.domain()}/favicon" style="width: 16px; height: 16px; vertical-align: center">
|
||||
<span>${siteInfo.domain()}</span>
|
||||
|
@@ -4,7 +4,7 @@
|
||||
@param ReportDomain reportDomain
|
||||
|
||||
<div class="flex-col mx-auto">
|
||||
<div class="max-w-2xl mx-auto bg-white dark:bg-gray-800 border dark:border-gray-600 rounded overflow-auto shadow-sm my-4 space-y-4 w-full">
|
||||
<div class="max-w-2xl mx-auto bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded overflow-auto shadow-sm my-4 space-y-4 w-full">
|
||||
<div class="px-4 py-2 bg-margeblue text-white border-b border-gray-200 dark:border-gray-800">
|
||||
<h2 class="text-md">Report Domain Issue</h2>
|
||||
</div>
|
||||
|
@@ -9,6 +9,7 @@ module.exports = {
|
||||
nicotine: '#f8f8ee',
|
||||
margeblue: '#3e5f6f',
|
||||
liteblue: '#0066cc',
|
||||
bgblue: '#e5e9eb',
|
||||
},
|
||||
screens: {
|
||||
'coarsepointer': {
|
||||
|
Reference in New Issue
Block a user