mirror of
https://github.com/web3privacy/web
synced 2024-10-15 18:26:27 +02:00
updates
This commit is contained in:
parent
c2fe9c03b6
commit
7c56a55f18
10 changed files with 182 additions and 80 deletions
|
@ -11,7 +11,8 @@
|
|||
"contribs": "deno run --allow-all utils/contributors.js",
|
||||
"events": "deno run --allow-all utils/events.js",
|
||||
"articles": "deno run --allow-all utils/articles.js",
|
||||
"talks": "deno run --allow-all utils/talks.js"
|
||||
"talks": "deno run --allow-all utils/talks.js",
|
||||
"explorer": "deno run --allow-all utils/explorer.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@astrojs/tailwind": "^5.0.2",
|
||||
|
|
|
@ -1,4 +1,46 @@
|
|||
[
|
||||
{
|
||||
"url": "https://mirror.xyz/0x0f1F3DAf416B74DB3DE55Eb4D7513a80F4841073/wyFhJ9_ayxA6BXTW0WE1h4ZackVTjrZTeC28Y6-J4mc",
|
||||
"title": "#2023privacyproof finalists announced",
|
||||
"img": "https://images.mirror-media.xyz/publication-images/eE7KbYRyYk_PtvoXrL3U9.png?height=807&width=1614",
|
||||
"date": "2024-01-24T10:44:31.000Z"
|
||||
},
|
||||
{
|
||||
"url": "https://mirror.xyz/0x0f1F3DAf416B74DB3DE55Eb4D7513a80F4841073/Yx-Hc2kw2sDVixLkKQ5F1ZDN33eKGYYkK4fjVdPouIE",
|
||||
"title": "Doxxer of the year #2023privacyproof",
|
||||
"img": "https://images.mirror-media.xyz/publication-images/P8rXYNblxjnz4Fx-8ZNCt.png?height=960&width=1920",
|
||||
"date": "2024-01-21T10:07:43.000Z"
|
||||
},
|
||||
{
|
||||
"url": "https://mirror.xyz/0x0f1F3DAf416B74DB3DE55Eb4D7513a80F4841073/pbTUSd5RerKKwmeqWmzl5VDmtuykkalqFUBTy0EQUNA",
|
||||
"title": "Exciting innovation in privacy #2023privacyproof",
|
||||
"img": "https://images.mirror-media.xyz/publication-images/KQ9cWrl5Rnt0b6hzUIYWI.png?height=708&width=1416",
|
||||
"date": "2024-01-19T12:09:54.000Z"
|
||||
},
|
||||
{
|
||||
"url": "https://mirror.xyz/0x0f1F3DAf416B74DB3DE55Eb4D7513a80F4841073/sy5SdjIHlu-6FMbF6bos_NNWveHSc-_RstKfdIdbfJQ",
|
||||
"title": "Major news & events in 23' privacy #2023privacyproof",
|
||||
"img": "https://images.mirror-media.xyz/publication-images/k8odR-jfo46rubX-NjyZT.png?height=562&width=1124",
|
||||
"date": "2024-01-18T10:40:18.000Z"
|
||||
},
|
||||
{
|
||||
"url": "https://mirror.xyz/0x0f1F3DAf416B74DB3DE55Eb4D7513a80F4841073/LdOt0mlG_nXqhnmLf7s-X13NDNdpwQw72ESKaJq-0zA",
|
||||
"title": "Pro-privacy projects of the year #2023privacyproof",
|
||||
"img": "https://images.mirror-media.xyz/publication-images/jQsVNxD62gEPQaeZ1wGjH.png?height=645&width=1290",
|
||||
"date": "2024-01-17T09:08:02.000Z"
|
||||
},
|
||||
{
|
||||
"url": "https://mirror.xyz/0x0f1F3DAf416B74DB3DE55Eb4D7513a80F4841073/hEDewxQxukOHZcTqoXNdkrmioEiBb2SrObDZ9oanVM4",
|
||||
"title": "Annual Privacy Tech Poll: longlist update",
|
||||
"img": "https://images.mirror-media.xyz/publication-images/djpD_fOh0MOh9DO3jK5BF.png?height=758&width=1516",
|
||||
"date": "2024-01-06T13:33:59.000Z"
|
||||
},
|
||||
{
|
||||
"url": "https://mirror.xyz/0x0f1F3DAf416B74DB3DE55Eb4D7513a80F4841073/g9ypqVmAIllC3q1qy1EmNfaKR4RemDBYlMLDNbnooEk",
|
||||
"title": "#2023privacyproof longlist selection announced",
|
||||
"img": "https://images.mirror-media.xyz/publication-images/tz5P_ewwh35vtjXS1toTh.png?height=580&width=1160",
|
||||
"date": "2023-12-29T11:45:08.000Z"
|
||||
},
|
||||
{
|
||||
"url": "https://mirror.xyz/0x0f1F3DAf416B74DB3DE55Eb4D7513a80F4841073/u-K59tVbfnFB9M-TTSpTIf7ef3zlsg9FXklDCRwAr70",
|
||||
"title": "Annual Privacy Tech Poll - #2023privacyproof",
|
||||
|
|
|
@ -10,6 +10,7 @@ links:
|
|||
youtube: https://youtube.com/@Web3PrivacyNow/
|
||||
forum: https://forum.web3privacy.info
|
||||
explorer: https://explorer.web3privacy.info
|
||||
telegram: https://t.me/web3privacynow
|
||||
header:
|
||||
menu:
|
||||
- name: Home
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
"received_events_url": "https://api.github.com/users/Msiusko/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false,
|
||||
"contributions": 1132
|
||||
"contributions": 1168
|
||||
},
|
||||
{
|
||||
"login": "burningtree",
|
||||
|
@ -39,7 +39,7 @@
|
|||
"received_events_url": "https://api.github.com/users/burningtree/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false,
|
||||
"contributions": 278
|
||||
"contributions": 280
|
||||
},
|
||||
{
|
||||
"login": "cryptomar1o",
|
||||
|
@ -123,7 +123,7 @@
|
|||
"received_events_url": "https://api.github.com/users/niclaz/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false,
|
||||
"contributions": 8
|
||||
"contributions": 9
|
||||
},
|
||||
{
|
||||
"login": "sripwoud",
|
||||
|
@ -146,6 +146,27 @@
|
|||
"site_admin": false,
|
||||
"contributions": 6
|
||||
},
|
||||
{
|
||||
"login": "coinmandeer",
|
||||
"id": 62942796,
|
||||
"node_id": "MDQ6VXNlcjYyOTQyNzk2",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/62942796?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/coinmandeer",
|
||||
"html_url": "https://github.com/coinmandeer",
|
||||
"followers_url": "https://api.github.com/users/coinmandeer/followers",
|
||||
"following_url": "https://api.github.com/users/coinmandeer/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/coinmandeer/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/coinmandeer/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/coinmandeer/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/coinmandeer/orgs",
|
||||
"repos_url": "https://api.github.com/users/coinmandeer/repos",
|
||||
"events_url": "https://api.github.com/users/coinmandeer/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/coinmandeer/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false,
|
||||
"contributions": 5
|
||||
},
|
||||
{
|
||||
"login": "Ressac-No1",
|
||||
"id": 119933943,
|
||||
|
@ -167,6 +188,27 @@
|
|||
"site_admin": false,
|
||||
"contributions": 4
|
||||
},
|
||||
{
|
||||
"login": "Diex5",
|
||||
"id": 71428580,
|
||||
"node_id": "MDQ6VXNlcjcxNDI4NTgw",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/71428580?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/Diex5",
|
||||
"html_url": "https://github.com/Diex5",
|
||||
"followers_url": "https://api.github.com/users/Diex5/followers",
|
||||
"following_url": "https://api.github.com/users/Diex5/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/Diex5/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/Diex5/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/Diex5/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/Diex5/orgs",
|
||||
"repos_url": "https://api.github.com/users/Diex5/repos",
|
||||
"events_url": "https://api.github.com/users/Diex5/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/Diex5/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false,
|
||||
"contributions": 3
|
||||
},
|
||||
{
|
||||
"login": "wslyvh",
|
||||
"id": 25974464,
|
||||
|
@ -207,6 +249,27 @@
|
|||
"received_events_url": "https://api.github.com/users/ligi/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false,
|
||||
"contributions": 3
|
||||
},
|
||||
{
|
||||
"login": "MufCZ",
|
||||
"id": 90514921,
|
||||
"node_id": "MDQ6VXNlcjkwNTE0OTIx",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/90514921?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/MufCZ",
|
||||
"html_url": "https://github.com/MufCZ",
|
||||
"followers_url": "https://api.github.com/users/MufCZ/followers",
|
||||
"following_url": "https://api.github.com/users/MufCZ/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/MufCZ/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/MufCZ/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/MufCZ/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/MufCZ/orgs",
|
||||
"repos_url": "https://api.github.com/users/MufCZ/repos",
|
||||
"events_url": "https://api.github.com/users/MufCZ/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/MufCZ/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false,
|
||||
"contributions": 2
|
||||
},
|
||||
{
|
||||
|
@ -356,27 +419,6 @@
|
|||
"site_admin": false,
|
||||
"contributions": 1
|
||||
},
|
||||
{
|
||||
"login": "coinmandeer",
|
||||
"id": 62942796,
|
||||
"node_id": "MDQ6VXNlcjYyOTQyNzk2",
|
||||
"avatar_url": "https://avatars.githubusercontent.com/u/62942796?v=4",
|
||||
"gravatar_id": "",
|
||||
"url": "https://api.github.com/users/coinmandeer",
|
||||
"html_url": "https://github.com/coinmandeer",
|
||||
"followers_url": "https://api.github.com/users/coinmandeer/followers",
|
||||
"following_url": "https://api.github.com/users/coinmandeer/following{/other_user}",
|
||||
"gists_url": "https://api.github.com/users/coinmandeer/gists{/gist_id}",
|
||||
"starred_url": "https://api.github.com/users/coinmandeer/starred{/owner}{/repo}",
|
||||
"subscriptions_url": "https://api.github.com/users/coinmandeer/subscriptions",
|
||||
"organizations_url": "https://api.github.com/users/coinmandeer/orgs",
|
||||
"repos_url": "https://api.github.com/users/coinmandeer/repos",
|
||||
"events_url": "https://api.github.com/users/coinmandeer/events{/privacy}",
|
||||
"received_events_url": "https://api.github.com/users/coinmandeer/received_events",
|
||||
"type": "User",
|
||||
"site_admin": false,
|
||||
"contributions": 1
|
||||
},
|
||||
{
|
||||
"login": "themandalore",
|
||||
"id": 18077596,
|
||||
|
|
|
@ -49,27 +49,13 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"id": "w3pm-bcn1",
|
||||
"id": "w3pm-ath1",
|
||||
"type": "meetup",
|
||||
"date": "2024/Q1",
|
||||
"city": "Barcelona",
|
||||
"country": "es",
|
||||
"city": "Athens",
|
||||
"country": "gr",
|
||||
"coincidence": "",
|
||||
"lead": "Tree",
|
||||
"helpers": [
|
||||
"Mykola"
|
||||
],
|
||||
"optional": true,
|
||||
"slots": 3
|
||||
},
|
||||
{
|
||||
"id": "w3pm-itxx",
|
||||
"type": "meetup",
|
||||
"date": "2024/Q1",
|
||||
"city": "Italy (TBD)",
|
||||
"country": "it",
|
||||
"coincidence": "",
|
||||
"lead": "PG",
|
||||
"lead": "Mykola",
|
||||
"optional": true,
|
||||
"slots": 3
|
||||
},
|
||||
|
@ -142,9 +128,10 @@
|
|||
{
|
||||
"id": "w3pm-ber1",
|
||||
"type": "meetup",
|
||||
"date": "2024-05-25",
|
||||
"date": "2024-05-22",
|
||||
"city": "Berlin",
|
||||
"country": "de",
|
||||
"place": "[c-base](https://c-base.org/)",
|
||||
"coincidence": "ETHBerlin",
|
||||
"lead": "Tree",
|
||||
"slots": 3,
|
||||
|
|
3
src/explorer.json
Normal file
3
src/explorer.json
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"projects": 429
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
import * as config from '../config.yaml';
|
||||
import '../styles/base.css';
|
||||
const {banner, title} = Astro.props;
|
||||
const {banner, title, description} = Astro.props;
|
||||
|
||||
import cfonts from 'cfonts';
|
||||
|
||||
|
@ -12,6 +12,7 @@ import cfonts from 'cfonts';
|
|||
<link rel="icon" type="image/x-icon" href="/favicon.ico">
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta name="generator" content={Astro.generator} />
|
||||
<meta name="description" content={description} />
|
||||
<title>{title ? title + ' | ' + config.title : config.title}</title>
|
||||
<link
|
||||
rel="preload"
|
||||
|
@ -40,7 +41,7 @@ import cfonts from 'cfonts';
|
|||
<div class="w-full">
|
||||
{config.header.menu.map((menuItem) => (
|
||||
<div class="uppercase w-full">
|
||||
<a href={menuItem.url || config.links} class="inline-block hover:underline px-4 py-2" class:list={[menuItem.url?.match(/^http/) ? "external" : "", Astro.url.pathname === menuItem.url ? "text-white" : ""]}>2@@@{menuItem.name}</a>
|
||||
<a href={menuItem.url || config.links} class="inline-block hover:underline px-4 py-2" class:list={[menuItem.url?.match(/^http/) ? "external" : "", Astro.url.pathname === menuItem.url ? "text-white" : ""]}>{menuItem.name}</a>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
@ -77,7 +78,7 @@ import cfonts from 'cfonts';
|
|||
{config.hero.text}
|
||||
</div>
|
||||
<div class="mt-6">
|
||||
<a class="button" href={config.links.docs}><button>About Web3Privacy Now</button></a>
|
||||
<a class="button" href="/about"><button>About Web3Privacy Now</button></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -6,6 +6,7 @@ import * as config from '../config.yaml';
|
|||
import events from '../events.json';
|
||||
import articles from '../articles.json';
|
||||
import talks from '../talks.json';
|
||||
import explorer from '../explorer.json';
|
||||
import { isRenderTemplateResult } from 'astro/runtime/server/render/astro/render-template.js';
|
||||
import { isPast, format } from 'date-fns';
|
||||
|
||||
|
@ -26,7 +27,7 @@ for (const ev of events) {
|
|||
|
||||
---
|
||||
|
||||
<BaseLayout title="Home Page" banner="true">
|
||||
<BaseLayout banner="true" description="Privacy advocates worldwide are coming together to discuss how to mainstream privacy within the Web3 industry. So it will become a cultural phenomenon embodying both decentralisation & anti-surveillance capitalism practices.">
|
||||
|
||||
<div class="middle-pane-big">
|
||||
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 w3pn-hp-grid gap-2 mt-2">
|
||||
|
@ -43,31 +44,20 @@ for (const ev of events) {
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bg-talks" data-url="/talks">
|
||||
<div class="title">Talks</div>
|
||||
<div class="bg-talks" data-url="/research">
|
||||
<div class="title">Research</div>
|
||||
<div class="numbers">
|
||||
<div>
|
||||
<div class="big">?</div>
|
||||
<div>Talks</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="big">?</div>
|
||||
<div>Recordings</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="big">?</div>
|
||||
<div>Speakers</div>
|
||||
<div class="semibig">3 reserch projects →</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bg-projects" data-url="/projects">
|
||||
<div class="title">Projects</div>
|
||||
<div class="bg-projects" data-url="https://explorer.web3privacy.info">
|
||||
<div class="title">Explorer</div>
|
||||
<div class="numbers">
|
||||
<div>
|
||||
<div class="semibig">Privacy explorer →</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="semibig">3 reserch projects →</div>
|
||||
<div class="big">{explorer.projects}</div>
|
||||
<div>Projects</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -76,25 +66,13 @@ for (const ev of events) {
|
|||
|
||||
|
||||
<div class="middle-pane-medium mt-10">
|
||||
<div class="mt-10">
|
||||
<!--div class="mt-10">
|
||||
<h1>Our Projects</h1>
|
||||
</div>
|
||||
|
||||
<div class="mt-16">
|
||||
<h1>Featured Events</h1>
|
||||
</div>
|
||||
|
||||
<div class="mt-16">
|
||||
<h1>Latest Talks</h1>
|
||||
</div>
|
||||
|
||||
<div class="grid md:grid-cols-2 gap-6">
|
||||
{talks.slice(0,4).map((entry) => (
|
||||
<div class="basegrid-entry aspect-video" style={{backgroundImage: `url("${entry.img}")`, backgroundSize: 'cover', backgroundPosition: 'center'}}>
|
||||
<a href={entry.url} class="w-full h-full" title={entry.title}></a>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div-->
|
||||
|
||||
<div class="mt-16">
|
||||
<h1>Latest Articles</h1>
|
||||
|
@ -111,6 +89,18 @@ for (const ev of events) {
|
|||
))}
|
||||
</div>
|
||||
|
||||
<div class="mt-16">
|
||||
<h1>Latest Talks</h1>
|
||||
</div>
|
||||
|
||||
<div class="grid md:grid-cols-2 gap-6">
|
||||
{talks.slice(0,4).map((entry) => (
|
||||
<div class="basegrid-entry aspect-video" style={{backgroundImage: `url("${entry.img}")`, backgroundSize: 'cover', backgroundPosition: 'center'}}>
|
||||
<a href={entry.url} class="w-full h-full" title={entry.title}></a>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
<AboutFooter />
|
||||
</div>
|
||||
<script>
|
||||
|
|
24
src/pages/talks.astro
Normal file
24
src/pages/talks.astro
Normal file
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
|
||||
import BaseLayout from '../layouts/base.astro';
|
||||
import talks from '../talks.json';
|
||||
|
||||
---
|
||||
|
||||
<BaseLayout title="Talks">
|
||||
|
||||
<div class="middle-pane-medium mt-10">
|
||||
<div class="mt-16">
|
||||
<h1>Talks ({talks.length})</h1>
|
||||
</div>
|
||||
|
||||
<div class="grid md:grid-cols-2 xl:grid-cols-3 gap-6">
|
||||
{talks.map((entry) => (
|
||||
<div class="basegrid-entry aspect-video" style={{backgroundImage: `url("${entry.img}")`, backgroundSize: 'cover', backgroundPosition: 'center'}}>
|
||||
<a href={entry.url} class="w-full h-full" title={entry.title}></a>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</BaseLayout>
|
11
utils/explorer.js
Normal file
11
utils/explorer.js
Normal file
|
@ -0,0 +1,11 @@
|
|||
|
||||
|
||||
const resp = await fetch("https://explorer-data.web3privacy.info/");
|
||||
const data = await resp.json();
|
||||
|
||||
const explorer = {
|
||||
projects: data.projects.length
|
||||
}
|
||||
|
||||
await Deno.writeTextFile("./src/explorer.json", JSON.stringify(explorer, null, 2))
|
||||
console.log(`File ./src/explorer.json saved`)
|
Loading…
Reference in a new issue