diff --git a/schema/events.yaml b/schema/events.yaml deleted file mode 100644 index bfee586..0000000 --- a/schema/events.yaml +++ /dev/null @@ -1,55 +0,0 @@ -$defs: - event: - type: object - additionalProperties: false - required: - - id - - date - - city - - country - properties: - id: - type: string - type: - type: string - enum: - - summit - - meetup - - hackathon - confirmed: - type: boolean - date: - type: string - days: - type: number - city: - type: string - country: - type: string - pattern: "^\\w{2}$" - place: - type: string - coincidence: - type: string - lead: - type: string - helpers: - type: array - items: - type: string - slots: - type: number - visitors: - type: number - optional: - type: boolean - links: - type: object - additionalProperties: false - patternProperties: - "^[\\w]+": - type: string - format: uri -type: array -items: - $ref: "#/$defs/event" \ No newline at end of file diff --git a/schema/index.yaml b/schema/index.yaml index d73ddd1..4806b20 100644 --- a/schema/index.yaml +++ b/schema/index.yaml @@ -1 +1,89 @@ -type: object \ No newline at end of file +$defs: + project: + type: object + additionalProperties: false + required: + - id + - name + properties: + id: + type: string + name: + type: string + type: + type: string + enum: + - research + links: + type: object + event: + type: object + additionalProperties: false + required: + - id + - date + - city + - country + properties: + id: + type: string + type: + type: string + enum: + - summit + - meetup + - hackathon + confirmed: + type: boolean + date: + type: string + days: + type: number + city: + type: string + country: + type: string + pattern: "^\\w{2}$" + place: + type: string + coincidence: + type: string + lead: + type: string + helpers: + type: array + items: + type: string + slots: + type: number + visitors: + type: number + optional: + type: boolean + links: + type: object + additionalProperties: false + patternProperties: + "^[\\w]+": + type: string + format: uri + +type: object +additionalProperties: false +properties: + name: + type: string + links: + type: object + core-team: + type: array + + projects: + type: array + items: + $ref: "#/$defs/project" + + events: + type: array + items: + $ref: "#/$defs/event" \ No newline at end of file diff --git a/src/index.yaml b/src/index.yaml index 7059ff6..4af14bc 100644 --- a/src/index.yaml +++ b/src/index.yaml @@ -1,4 +1,16 @@ name: Web3Privacy Now +links: + ocs: https://docs.web3privacy.info/ + manifesto: https://docs.web3privacy.info/manifesto + github: https://github.com/web3privacy + twitter: https://twitter.com/web3privacy + matrix: https://matrix.web3privacy.info + bluesky: https://bsky.app/profile/web3privacy.info + mirror: https://mirror.xyz/0x0f1F3DAf416B74DB3DE55Eb4D7513a80F4841073/ + youtube: https://youtube.com/@Web3PrivacyNow/ + forum: https://forum.web3privacy.info + explorer: https://explorer.web3privacy.info + telegram: https://t.me/web3privacynow core-team: - name: Tree - name: Mykola diff --git a/src/projects/index.yaml b/src/projects/index.yaml new file mode 100644 index 0000000..e39ce4e --- /dev/null +++ b/src/projects/index.yaml @@ -0,0 +1,57 @@ +- id: privacy-explorer + name: Privacy Explorer + links: + docs: https://docs.web3privacy.info/projects/privacy-explorer + +- id: privacy-tech-awards + name: Privacy Tech Awards + links: + docs: https://docs.web3privacy.info/projects/privacy-tech-awards + +- id: annual-report + name: Privacy Annual Report + type: research + links: + docs: https://docs.web3privacy.info/research/annual-report + +- id: pagency + name: Pagency Framework for private use-case ideation + type: research + links: + docs: https://docs.web3privacy.info/research/pagency + +- id: hiring + name: Privacy Projects Hiring + type: research + links: + docs: https://docs.web3privacy.info/research/hiring + +- id: privacy-guides + name: Privacy Guides + type: research + links: + docs: https://docs.web3privacy.info/research/privacy-guides + +- id: usecase-db + name: Privacy Use-Cases DB + type: research + links: + docs: https://docs.web3privacy.info/research/usecase-db + +- id: zk-solutions + name: ZK Solutions DB + type: research + links: + docs: https://docs.web3privacy.info/research/zk-solutions + +- id: hackathon-pack + name: Hackathon Curation Pack + type: research + links: + docs: https://docs.web3privacy.info/research/hackathon-pack + +- id: privacy-ecosystem-report + name: "Ethereum Privacy Ecosystem: report" + type: research + links: + docs: https://docs.web3privacy.info/research/Ethereum%20Privacy%20Ecosystem \ No newline at end of file diff --git a/src/projects/pagency/index.yaml b/src/projects/pagency/index.yaml deleted file mode 100644 index 7586ffc..0000000 --- a/src/projects/pagency/index.yaml +++ /dev/null @@ -1 +0,0 @@ -name: Pagency \ No newline at end of file diff --git a/utils/engine.js b/utils/engine.js index 7324228..bfd37fa 100644 --- a/utils/engine.js +++ b/utils/engine.js @@ -36,18 +36,19 @@ export class Engine { return out } + const arr = []; for await (const dirEntry of Deno.readDir(dir)) { const [fn, ext] = dirEntry.name.split("."); if (!ext) { - out[fn] = await this.loadDir(join(src, fn)) - continue; + const obj = Object.assign({ id: fn }, await this.loadDir(join(src, fn))) + arr.push(obj) } - if (ext === "yaml" && fn !== "index") { + /*if (ext === "yaml" && fn !== "index") { out[fn] = await readYamlFile(join(dir, dirEntry.name)); - } + }*/ } - return out + return arr } async render(src) { diff --git a/utils/test.js b/utils/test.js index dd43f26..78db186 100644 --- a/utils/test.js +++ b/utils/test.js @@ -22,7 +22,4 @@ function checkCollection (name, schema, data) { } // check index -checkCollection("index", engine.schemas.index, engine.index) -for (const col of Object.keys(engine.db)) { - checkCollection(`collection: ${col}`, engine.schemas[col], engine.db[col]) -} \ No newline at end of file +checkCollection("index", engine.schemas.index, engine.rendered) \ No newline at end of file