diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 7254e5f..2d82f0b 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -27,8 +27,8 @@ jobs: - name: Build sources run: make - - name: Build changelog - run: make changelog +# - name: Build changelog +# run: make changelog - name: Add custom domain run: "touch dist/CNAME && echo \"spec.utxo.cz\" >> dist/CNAME" diff --git a/.github/workflows/docs-update.yml b/.github/workflows/docs-update.yml deleted file mode 100644 index 76e47f1..0000000 --- a/.github/workflows/docs-update.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: Update Documentation - -on: - push: - branches: - - master - -jobs: - deploy: - runs-on: ubuntu-latest - environment: production - concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - steps: - - uses: actions/checkout@v3 - - uses: actions/checkout@v3 - with: - repository: utxo-foundation/utxo22-docs - ref: master - path: docs - token: ${{ secrets.TOKEN_DOCS }} - - uses: denoland/setup-deno@v1 - with: - deno-version: v1.x - - run: make docs-update - - uses: stefanzweifel/git-auto-commit-action@v4.12.0 - with: - repository: ./docs - commit_message: Specs update - branch: master diff --git a/spec/23/event-types.yaml b/spec/23/event-types.yaml new file mode 100644 index 0000000..dcee869 --- /dev/null +++ b/spec/23/event-types.yaml @@ -0,0 +1,26 @@ + +- id: talk + name: Přednáška + +- id: workshop + name: Workshop + +- id: panel + name: Panelová debata + shortname: Panelovka + +- id: lightning-series + name: Pásmo bleskových přednášek + shortname: Bleskovky + url: https://docs.utxo.cz/hlavni-program/formaty-programu#bleskova-prednaska-lightning-talk + +- id: lightning + name: Blesková přednáška + shortname: Bleskovka + hidden: true + +- id: campfire + name: Campfire + +- id: other + name: Ostatní diff --git a/spec/23/faqs.yaml b/spec/23/faqs.yaml new file mode 100644 index 0000000..021fda2 --- /dev/null +++ b/spec/23/faqs.yaml @@ -0,0 +1,30 @@ +- question: Jaký je časový harmonogram? + answer: | + Časový harmonogram všech přednášek bude zveřejněn nejpozději v pondělí 30. května ráno. Tady je zatím hrubý časový plán: + * **Sobota**: 8:00 otevření, 9:00-9:15 zahájení, 9:30-19:30 program, 20:00-02:00+ party + * **Neděle**: 9:00 otevření, 10:00-18:30 program, 18:30-19:00 zakončení, 20:00 uzavření + +- question: Jak získám vstupenku? + answer: | + První vlna vstupenek bude k dispozici od středy 13. dubna 13:00 za 500 Kč. Druhá vlna od 27. dubna 13:00 za 650 Kč a třetí vlna od 11. května za 750 Kč. + + Pokud se všechny vstupenky nevyprodají během třetí vlny, potom v pátek 3. června v 12:00 (den před akcí) dojde ke zdražení na 1000 Kč a za stejnou cenu bude k dispozici vstupenka na místě. + +- question: Pro koho je konference určena? + answer: | + Pro všechny kryptoměnové nadšence. Konference vznikla také jako neutrální místo pro dialog v rámci celé lokální krypto-komunity. Každý něčemu fandíme, ale pojďme se od toho alespoň chvíli odprostit a poslechnout si i myšlenky protistrany, nebo diskutovat. + +- question: Budou dostupné záznamy přednášek? + answer: | + Ano, všechny přednášky z hlavních 4 sálů (P1-P4) budou po konferenci dostupné zdarma na UTXO.TV nebo našem [YouTube kanálu](https://www.youtube.com/channel/UCXLBCW1pstQPQf-4zRESepA). + +- question: Co to znamená "UTXO"? + answer: | + "UTXO" znamená "*Unspent transaction output*", což by se dalo přeložit jako "neutracený výstup transakce". Jedná se o [základní mechanismus fungování bitcoinu](https://www.alza.cz/transakcni-poplatky-a-minimalni-velikost-utxo#co-je-utxo). + + > "_UTXO je jediný způsob, jakým váš bitcoin skutečně "existuje". Každá transakce bere předchozí neutracené výstupy, používá je jako vstupy a ve výsledku vytváří nové výstupy. Každý konec je novým začátkem. Bitcoin je krásný._" - [@SatsJoseph](https://twitter.com/SatsJoseph/status/1370329486059843588) + +- question: Budou přednášky vysílané živě? + answer: | + Ano, plánujeme bohatý program i pro návštěvníky online - živé přenosy ze všech přednáškových sálů (4 hlavní sály - P1-P4), rozhovory s návštěvníky a další obsah. Vše bude zdarma dostupné na doméně UTXO.TV (a [YouTube](https://www.youtube.com/channel/UCXLBCW1pstQPQf-4zRESepA)). + diff --git a/spec/23/index.yaml b/spec/23/index.yaml new file mode 100644 index 0000000..c7db39d --- /dev/null +++ b/spec/23/index.yaml @@ -0,0 +1,33 @@ +id: utxo23 +name: UTXO.23 +shortname: UTXO +description: Otevřená komunitní kryptoměnová konference +dates: [ '2023-06-02', '2023-06-04' ] +#scheduleTimes: +# - '1/09:00-20:00/Sobota 4.6.' +# - '1/20:00-02:00/UTXO.Party (sobota 4.6.)' +# - '2/09:00-19:00/Neděle 5.6.' +#place: Gabriel Loci, Praha +country: Czech Republic +links: + web: https://utxo.cz + docs: https://docs.utxo.cz + twitter: https://twitter.com/utxoprague + telegram: https://t.me/utxoprague + fbpage: https://www.facebook.com/utxoprague +# fbevent: https://www.facebook.com/events/276727151106692 + instagram: https://www.instagram.com/utxoprague/ + youtube: https://www.youtube.com/c/UTXOPrague +schemaVersion: 1 +specDef: + - type: speakers + - type: tracks + - type: event-types +# - type: events +# - type: stages + - type: faqs + - type: partners +# - type: projects + - type: team +# - type: practical-info +# - type: schedule diff --git a/spec/23/partners.yaml b/spec/23/partners.yaml new file mode 100644 index 0000000..a237174 --- /dev/null +++ b/spec/23/partners.yaml @@ -0,0 +1,26 @@ +# Communities +# ====================== + +- id: gweicz + name: Gwei.cz + type: community + twitter: gweicz + desc: Ethereum/DeFi/Web3 komunita + +- id: holky-v-kryptu + name: Holky v kryptu + type: community + twitter: holkyvkryptu + desc: Komunita pro začínající a mírně pokročilé uživatele + +# Sponsors +# ====================== + + +# Press partners +# ====================== + + +# Suppliers +# ====================== + diff --git a/spec/23/photos/partners/gweicz-twitter.jpg b/spec/23/photos/partners/gweicz-twitter.jpg new file mode 100644 index 0000000..218469f Binary files /dev/null and b/spec/23/photos/partners/gweicz-twitter.jpg differ diff --git a/spec/23/photos/partners/holky-v-kryptu-twitter.jpg b/spec/23/photos/partners/holky-v-kryptu-twitter.jpg new file mode 100644 index 0000000..c3e7182 Binary files /dev/null and b/spec/23/photos/partners/holky-v-kryptu-twitter.jpg differ diff --git a/spec/23/photos/speakers/petr-lukac-twitter.jpg b/spec/23/photos/speakers/petr-lukac-twitter.jpg new file mode 100644 index 0000000..1aae9f5 Binary files /dev/null and b/spec/23/photos/speakers/petr-lukac-twitter.jpg differ diff --git a/spec/23/photos/speakers/petr-lukac-web.png b/spec/23/photos/speakers/petr-lukac-web.png new file mode 100644 index 0000000..cad2f3e Binary files /dev/null and b/spec/23/photos/speakers/petr-lukac-web.png differ diff --git a/spec/23/photos/speakers/tereza-starostova-twitter.jpg b/spec/23/photos/speakers/tereza-starostova-twitter.jpg new file mode 100644 index 0000000..2ef003d Binary files /dev/null and b/spec/23/photos/speakers/tereza-starostova-twitter.jpg differ diff --git a/spec/23/photos/speakers/tree-twitter.jpg b/spec/23/photos/speakers/tree-twitter.jpg new file mode 100644 index 0000000..7206963 Binary files /dev/null and b/spec/23/photos/speakers/tree-twitter.jpg differ diff --git a/spec/23/speakers.yaml b/spec/23/speakers.yaml new file mode 100644 index 0000000..802e538 --- /dev/null +++ b/spec/23/speakers.yaml @@ -0,0 +1,39 @@ +# všech přednášejících +# --------------------------- +# JSON Schema Viewer: https://json-schema.app/view/%23%2Fdefinitions%2Fspeaker?url=https%3A%2F%2Fspec.utxo.cz%2Fschema%2F1%2Fbundle.json + +#- id: adam-kracik +# name: Adam Kracík +# bio: Nezávislý žurnalista a kryptoměnový analytik +# tracks: [ zaklady, alty ] +# web: +# url: https://www.facebook.com/knox.gunner +# country: cz + +- id: tereza-starostova + name: Tereza Starostová + twitter: terkastarostova + orgs: | + Spoluzakladatelka [Holky v Kryptu](https://holkyvkryptu.cz/), předsedkyně [UTXO Foundation](httsp://utxo.foundation) + tracks: [ zaklady, spolecnost ] + country: cz + +- id: petr-lukac + name: Petr Lukáč + twitter: RuzovejSlon + bio: Novinář, podcaster + orgs: | + Podcast [Krypto Space](https://www.kryptospace.cz/) + tracks: [ spolecnost ] + country: cz + +- id: tree + name: tree + twitter: treecz + bio: Libertarián, propagátor Web3 a DAOs + orgs: | + Zakladatel [Gwei.cz](https://gwei.cz). Organizátor [ETHBrno](https://ethbrno.cz/), [UTXO.23](https://utxo.cz) a dalších akcí + country: cz + tracks: [ eth, defi, dao ] + desc: | + Founder of @gweicz | 🦄 #Ethereum #DeFi #DAO enthusiast 🦇🔊 | ✈️ #travel maniac | ⚡ riding #electricunicycle | 🇨🇿🇬🇧 lang | 🟡⚫ | 🇺🇦 Слава Україні! \ No newline at end of file diff --git a/spec/23/team.yaml b/spec/23/team.yaml new file mode 100644 index 0000000..a28e7ce --- /dev/null +++ b/spec/23/team.yaml @@ -0,0 +1,11 @@ +persons: + + tereza: + name: Tereza Starostová + twitter: terkastarostova + + tree: + name: Tree + twitter: treecz + +teams: {} \ No newline at end of file diff --git a/spec/23/tracks.yaml b/spec/23/tracks.yaml new file mode 100644 index 0000000..185454d --- /dev/null +++ b/spec/23/tracks.yaml @@ -0,0 +1,88 @@ +- id: zaklady + name: Základy kryptoměn + shortname: Základy + examples: | + * principy otevřených projektů (blockchainů) + * základy bezpečnosti a soukromí + * peněženky - SW, HW + * základy obchodování - DCA + +- id: btc + name: Bitcoin + examples: | + * Bitcoin jako peníze + * Lightning Network - adopce, implementace + * Taproot + * Bitcoin mining + * smart-kontrakty na bitcoinu (RGB) + +- id: eth + name: Ethereum a smart-kontrakty obecně + shortname: Ethereum + examples: | + * Ethereum 2.0 + * Layer2 - rollupy + * (EVM) Sidechainy + * vývoj smart-kontraktů (solidity) + * MEV - Miner Extractable Value + +- id: defi + name: Decentralizované finance (DeFi) + shortname: DeFi + examples: | + * stablecoiny + * lending protokoly + * DEX - decentralizované burzy + * predikční trhy + * futures/options kontrakty + * tokenizace + +- id: dao + name: Decentralizované organizace (DAO) + shortname: DAOs + examples: | + * budoucnost organizací + * showcase jednotlivých DAOs + +- id: nft + name: NFTs a Metaverse + shortname: NFTs/Metaverse + examples: | + * NFT umění + * NFT collectibles + * gaming + * Metaverse + +- id: alty + name: Experimentální L1 blockchainy a další altcoiny + shortname: Alternativní L1 + examples: | + * Polkadot + * Cardano + * Cosmos (Secret Network..) + * Solana + * NEAR + * Monero + * ... + +- id: regulace + name: Regulace a fiat rampy + shortname: Regulace + examples: | + * legislativa + * směnárny a burzy + * darování kryptoměn + * insitucionální peníze v kryptoměnách + +- id: spolecnost + name: Krypto-společnost + shortname: Společnost + examples: | + * odluka peněz od státu + * kryptoanarchismus, anarchokapitalismus, meritokracie + * představení lokálních krypto-komunit + * fenomén maximalismu + +- id: other + name: Ostatní + hidden: true diff --git a/utils/changelog.js b/utils/changelog.js index a626c7a..c32cbe0 100644 --- a/utils/changelog.js +++ b/utils/changelog.js @@ -73,7 +73,7 @@ function checkCol(col, d, current) { } } -async function generate(entry = "22") { +async function generate(entry = "23") { const commits = await gitCommits(); const bundleFn = `${entry}/bundle.json`; const dates = {}; diff --git a/utils/engine.js b/utils/engine.js index c5d986e..f9d0ce0 100644 --- a/utils/engine.js +++ b/utils/engine.js @@ -121,6 +121,8 @@ export class UTXOEngine { // write index const index = JSON.parse(JSON.stringify(entry.index)); + const specDef = JSON.parse(JSON.stringify(index.specDef)); + delete index.specDef; index.spec = specEndpoints; index.stats = { counts: {} }; @@ -147,22 +149,26 @@ export class UTXOEngine { }); // copy media-kit - const outputMediaDir = [entryDir, "media-kit"].join("/"); - if (!this.options.silent) { - console.log(`UTXO.${entryId}: copying media-kit ..`); - console.log(`copying media-kit to ${outputMediaDir}`); + if (await exists([ entryDir, "media-kit" ].join("/"))) { + const outputMediaDir = [entryDir, "media-kit"].join("/"); + if (!this.options.silent) { + console.log(`UTXO.${entryId}: copying media-kit ..`); + console.log(`copying media-kit to ${outputMediaDir}`); + } + await copy( + [this.srcDir, entryId, "media-kit"].join("/"), + outputMediaDir, + { + overwrite: true, + }, + ); } - await copy( - [this.srcDir, entryId, "media-kit"].join("/"), - outputMediaDir, - { - overwrite: true, - }, - ); // write QA output of events (schedules) - const qa = this.qaSummary(entryId); - await this._jsonWrite([entryDir, "qa-summary.json"], qa); + if (specDef.find(item => item.type === 'schedule')) { + const qa = this.qaSummary(entryId); + await this._jsonWrite([entryDir, "qa-summary.json"], qa); + } // done