Implement service index exclusion control
Reworked service configuration to allow individual services to be conditionally excluded from the main index, increasing the flexibility of the display. Configuration files have been restructured and moved into appropriate subdirectories to improve project organization. - Added `exclude_from_index` flags to all services within `services.json` to facilitate granular control over their visibility on the index page. - Modified the `index.html` template to respect the new `exclude_from_index` setting, thus excluding specified services from being listed on the index page. - Migrated `Caddyfile` and `privatecoffee.ini` to `contrib` directory for better separation of project contributions and core configuration files. This update enhances the site's privacy features and enables easier navigation by allowing selective service display.
This commit is contained in:
parent
3d655f11fd
commit
5e0ecedb3f
4 changed files with 33 additions and 1 deletions
|
@ -12,6 +12,7 @@
|
||||||
"url": "https://element.private.coffee"
|
"url": "https://element.private.coffee"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"exclude_from_index": false,
|
||||||
"exclude_from_simple": true
|
"exclude_from_simple": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -26,6 +27,7 @@
|
||||||
"url": "https://cryptpad.private.coffee"
|
"url": "https://cryptpad.private.coffee"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"exclude_from_index": false,
|
||||||
"exclude_from_simple": false
|
"exclude_from_simple": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -40,6 +42,7 @@
|
||||||
"url": "https://invidious.private.coffee"
|
"url": "https://invidious.private.coffee"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"exclude_from_index": false,
|
||||||
"exclude_from_simple": false
|
"exclude_from_simple": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -58,6 +61,7 @@
|
||||||
"url": "https://skrt.social"
|
"url": "https://skrt.social"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"exclude_from_index": false,
|
||||||
"exclude_from_simple": false
|
"exclude_from_simple": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -72,6 +76,7 @@
|
||||||
"url": "https://gothub.private.coffee"
|
"url": "https://gothub.private.coffee"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"exclude_from_index": false,
|
||||||
"exclude_from_simple": false
|
"exclude_from_simple": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -86,7 +91,8 @@
|
||||||
"url": "https://redlib.private.coffee"
|
"url": "https://redlib.private.coffee"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"exclude_from_simple": true
|
"exclude_from_index": false,
|
||||||
|
"exclude_from_simple": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "AllTube",
|
"name": "AllTube",
|
||||||
|
@ -100,6 +106,7 @@
|
||||||
"url": "https://alltube.private.coffee"
|
"url": "https://alltube.private.coffee"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"exclude_from_index": false,
|
||||||
"exclude_from_simple": false
|
"exclude_from_simple": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -114,6 +121,7 @@
|
||||||
"url": "https://indestructables.private.coffee"
|
"url": "https://indestructables.private.coffee"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"exclude_from_index": false,
|
||||||
"exclude_from_simple": false
|
"exclude_from_simple": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -128,6 +136,7 @@
|
||||||
"url": "https://nocodb.private.coffee"
|
"url": "https://nocodb.private.coffee"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"exclude_from_index": false,
|
||||||
"exclude_from_simple": false
|
"exclude_from_simple": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -142,6 +151,7 @@
|
||||||
"url": "https://penpot.private.coffee"
|
"url": "https://penpot.private.coffee"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"exclude_from_index": false,
|
||||||
"exclude_from_simple": false
|
"exclude_from_simple": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -156,6 +166,7 @@
|
||||||
"url": "https://private.cf"
|
"url": "https://private.cf"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"exclude_from_index": false,
|
||||||
"exclude_from_simple": false
|
"exclude_from_simple": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -170,6 +181,7 @@
|
||||||
"url": "https://rallly.private.coffee"
|
"url": "https://rallly.private.coffee"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"exclude_from_index": false,
|
||||||
"exclude_from_simple": false
|
"exclude_from_simple": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -184,6 +196,7 @@
|
||||||
"url": "https://librey.private.coffee"
|
"url": "https://librey.private.coffee"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"exclude_from_index": false,
|
||||||
"exclude_from_simple": false
|
"exclude_from_simple": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -198,6 +211,7 @@
|
||||||
"url": "https://overleaf.private.coffee"
|
"url": "https://overleaf.private.coffee"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"exclude_from_index": false,
|
||||||
"exclude_from_simple": false
|
"exclude_from_simple": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -218,6 +232,22 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"exclude_from_index": true,
|
||||||
|
"exclude_from_simple": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Proxigram",
|
||||||
|
"url": "https://proxigram.private.coffee",
|
||||||
|
"short_description": "Proxigram is a privacy-friendly alternative front-end to Instagram.",
|
||||||
|
"long_description": "Proxigram is a privacy-friendly alternative front-end to Instagram. It allows you to browse Instagram without being tracked.",
|
||||||
|
"status": "NOK",
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"name": "Go to Proxigram",
|
||||||
|
"url": "https://proxigram.private.coffee"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"exclude_from_index": true,
|
||||||
"exclude_from_simple": true
|
"exclude_from_simple": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
|
|
||||||
<div class="row" id="services">
|
<div class="row" id="services">
|
||||||
{% for service in services.services %}
|
{% for service in services.services %}
|
||||||
|
{% if not service.exclude_from_index %}
|
||||||
<div class="service col-sm-4">
|
<div class="service col-sm-4">
|
||||||
<h3>{{ service.name }}</h3>
|
<h3>{{ service.name }}</h3>
|
||||||
<p>
|
<p>
|
||||||
|
@ -55,6 +56,7 @@
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
<div class="service col-sm-4">
|
<div class="service col-sm-4">
|
||||||
|
|
Loading…
Reference in a new issue