diff --git a/.babelrc b/.babelrc new file mode 100644 index 00000000..002b4aa0 --- /dev/null +++ b/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": ["env"] +} diff --git a/.gitignore b/.gitignore index f40fbd8b..e34fbe30 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,8 @@ _site .sass-cache .jekyll-cache .jekyll-metadata -vendor +vendor/ +.bundle/ +.DS_Store +node_modules +.vscode diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 00000000..a4dd9dba --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +2.7.4 diff --git a/404.html b/404.html index 086a5c9e..d1696ff6 100644 --- a/404.html +++ b/404.html @@ -3,23 +3,11 @@ permalink: /404.html layout: default --- - +
+

404

-
-

404

- -

Page not found :(

+

+ Page not found :( +

The requested page could not be found.

diff --git a/Gemfile b/Gemfile index e3535511..1c464077 100644 --- a/Gemfile +++ b/Gemfile @@ -30,3 +30,4 @@ end # Performance-booster for watching directories on Windows gem "wdm", "~> 0.1.1", :install_if => Gem.win_platform? +gem "webrick", "~> 1.7" diff --git a/Gemfile.lock b/Gemfile.lock index 866d7552..26962a50 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -4,19 +4,17 @@ GEM addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) colorator (1.1.0) - concurrent-ruby (1.1.5) - em-websocket (0.5.1) + concurrent-ruby (1.1.9) + em-websocket (0.5.2) eventmachine (>= 0.12.9) http_parser.rb (~> 0.6.0) eventmachine (1.2.7) - eventmachine (1.2.7-x64-mingw32) - ffi (1.11.1) - ffi (1.11.1-x64-mingw32) + ffi (1.15.4) forwardable-extended (2.6.0) http_parser.rb (0.6.0) - i18n (1.7.0) + i18n (1.8.10) concurrent-ruby (~> 1.0) - jekyll (4.0.0) + jekyll (4.0.1) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) @@ -31,12 +29,12 @@ GEM rouge (~> 3.0) safe_yaml (~> 1.0) terminal-table (~> 1.8) - jekyll-feed (0.12.1) + jekyll-feed (0.15.1) jekyll (>= 3.7, < 5.0) - jekyll-sass-converter (2.0.1) + jekyll-sass-converter (2.1.0) sassc (> 2.0.1, < 3.0) - jekyll-seo-tag (2.6.1) - jekyll (>= 3.3, < 5.0) + jekyll-seo-tag (2.7.1) + jekyll (>= 3.8, < 5.0) jekyll-sitemap (1.4.0) jekyll (>= 3.7, < 5.0) jekyll-watch (2.2.1) @@ -46,7 +44,7 @@ GEM kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) liquid (4.0.3) - listen (3.2.0) + listen (3.7.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.3.6) @@ -57,29 +55,27 @@ GEM pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (4.0.6) - rb-fsevent (0.10.3) - rb-inotify (0.10.0) + rb-fsevent (0.11.0) + rb-inotify (0.10.1) ffi (~> 1.0) rexml (3.2.5) - rouge (3.12.0) + rouge (3.26.1) safe_yaml (1.0.5) - sassc (2.2.1) - ffi (~> 1.9) - sassc (2.2.1-x64-mingw32) + sassc (2.4.0) ffi (~> 1.9) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) thread_safe (0.3.6) - tzinfo (1.2.5) + tzinfo (1.2.9) thread_safe (~> 0.1) - tzinfo-data (1.2019.3) + tzinfo-data (1.2021.4) tzinfo (>= 1.0.0) - unicode-display_width (1.6.0) + unicode-display_width (1.8.0) wdm (0.1.1) + webrick (1.7.0) PLATFORMS - ruby - x64-mingw32 + x86_64-darwin-20 DEPENDENCIES jekyll (~> 4.0.0) @@ -89,6 +85,7 @@ DEPENDENCIES tzinfo (~> 1.2) tzinfo-data wdm (~> 0.1.1) + webrick (~> 1.7) BUNDLED WITH - 2.1.4 + 2.2.29 diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 00000000..e9357541 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,67 @@ +pipeline { + agent { label 'linux' } + + options { + disableConcurrentBuilds() + /* manage how many builds we keep */ + buildDiscarder(logRotator( + numToKeepStr: '20', + daysToKeepStr: '30', + )) + } + + environment { + GH_USER = 'status-im-auto' + GH_MAIL = 'auto@status.im' + /* Dev site deployment. */ + DEV_SITE = 'dev.vac.dev' + DEV_HOST = 'jenkins@node-01.do-ams3.sites.misc.statusim.net' + SCP_OPTS = 'StrictHostKeyChecking=no' + /* Avoid need for sudo when using bundler. */ + GEM_HOME = "${env.HOME}/.gem" + } + + stages { + stage('Git Prep') { + steps { + sh "git config user.name ${env.GH_USER}" + sh "git config user.email ${env.GH_MAIL}" + sh 'yarn run clean' + } + } + + stage('Install Deps') { + steps { + sh 'yarn install --ignore-optional' + sh 'bundle install' + } + } + + stage('Build') { + steps { + sh 'yarn run build:production' + } + } + + stage('Publish Prod') { + when { expression { env.GIT_BRANCH ==~ /.*master/ } } + steps { + sshagent(credentials: ['status-im-auto-ssh']) { + sh 'yarn run deploy' + } + } + } + + stage('Publish Devel') { + when { expression { !(env.GIT_BRANCH ==~ /.*master/) } } + steps { + sshagent(credentials: ['jenkins-ssh']) { + sh """ + rsync -e 'ssh -o ${SCP_OPTS}' -r --delete _site/. \ + ${env.DEV_HOST}:/var/www/${env.DEV_SITE}/ + """ + } + } + } + } +} diff --git a/README.md b/README.md index 91b4cce0..448f808c 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,35 @@ -# vac +# Vac.dev Website -1. Install a full [Ruby development environment](https://jekyllrb.com/docs/installation/), - You need v2.7. -2. Install Jekyll and [bundler gems](https://jekyllrb.com/docs/ruby-101/#bundler). -3. Change into your cloned repo -4. Build the site and make it available on a local server: `bundle exec jekyll serve` -5. Now browse to http://localhost:4000 +Originally created by [EthWorks](https://ethworks.io/). + +# Development + +- Install Depndencies: + ``` + yarn install + bundle install + ``` +- Build Website + ``` + yarn run build + ``` +- For development or server: + ``` + yarn run dev + yarn run start + ``` + +# Continuous Integration + +- `develop` branch is pushed to [dev.vac.dev](https://dev.vac.dev) via [this CI Job](https://ci.status.im/job/website/job/dev.vac.dev/) +- `master` branch is pushed to [vac.dev](https://vac.dev) via [this CI Job](https://ci.status.im/job/website/job/vac.dev/) + +# Known Issues + +### Bundler and Jekyll on Apple M1 (with Ruby `x86_64`) + +```sh +arch -x86_64 gem install --user-install bundler jekyll +echo 'export PATH="~/.gem/ruby/2.6.0/bin:$PATH"' >> ~/.zshrc +bundle update +``` diff --git a/_authors/circe.md b/_authors/circe.md new file mode 100644 index 00000000..48258424 --- /dev/null +++ b/_authors/circe.md @@ -0,0 +1,7 @@ +--- +layout: author +short_name: circe +name: Circe +twitter: vacp2p +github: thecirce +--- diff --git a/_authors/dean.md b/_authors/dean.md index a8cdde45..d66016b0 100644 --- a/_authors/dean.md +++ b/_authors/dean.md @@ -1,8 +1,8 @@ --- +layout: author short_name: dean -name: Dean Eigenmann +name: Dean twitter: DeanEigenmann github: decanus website: https://dean.eigenmann.me -image: dean.png --- diff --git a/_authors/franck.md b/_authors/franck.md index 8c7e6373..5275ba02 100644 --- a/_authors/franck.md +++ b/_authors/franck.md @@ -1,6 +1,7 @@ --- +layout: author short_name: franck -name: Franck Royer +name: Franck twitter: dantounet github: d4nte --- diff --git a/_authors/hanno.md b/_authors/hanno.md new file mode 100644 index 00000000..2ec7d9da --- /dev/null +++ b/_authors/hanno.md @@ -0,0 +1,7 @@ +--- +layout: author +short_name: hanno +name: Hanno Cornelius +twitter: 4aelius +github: jm-clius +--- diff --git a/_authors/oskarth.md b/_authors/oskarth.md index 89039955..2efeb214 100644 --- a/_authors/oskarth.md +++ b/_authors/oskarth.md @@ -1,7 +1,7 @@ --- +layout: author short_name: oskarth -name: Oskar Thoren +name: Oskar twitter: oskarth github: oskarth -image: oskar.png --- diff --git a/_authors/sanaz.md b/_authors/sanaz.md index b680ad87..3f822aff 100644 --- a/_authors/sanaz.md +++ b/_authors/sanaz.md @@ -1,7 +1,7 @@ --- +layout: author short_name: sanaz -name: Sanaz Taheri +name: Sanaz twitter: sanaz2016 github: staheri14 -image: sanaz.png --- diff --git a/_authors/sanaztaheri.md b/_authors/sanaztaheri.md index b680ad87..3f822aff 100644 --- a/_authors/sanaztaheri.md +++ b/_authors/sanaztaheri.md @@ -1,7 +1,7 @@ --- +layout: author short_name: sanaz -name: Sanaz Taheri +name: Sanaz twitter: sanaz2016 github: staheri14 -image: sanaz.png --- diff --git a/_config.yml b/_config.yml index 17c8c1b7..660364a4 100644 --- a/_config.yml +++ b/_config.yml @@ -1,12 +1,12 @@ name: Vac title: Vac -title_image: "/assets/img/vac.jpg" +title_image: '/assets/img/vac.jpg' description: >- # this means to ignore newlines until "baseurl:" Vac is a modular peer-to-peer messaging stack, with a focus on secure messaging. -baseurl: "" # the subpath of your site, e.g. /blog -url: "https://vac.dev" # the base hostname & protocol for your site, e.g. http://example.com +baseurl: '' # the subpath of your site, e.g. /blog +url: 'https://vac.dev' # the base hostname & protocol for your site, e.g. http://example.com twitter_username: vacp2p -github_username: vacp2p +github_username: vacp2p simple_analytics: true @@ -15,9 +15,19 @@ plugins: - jekyll-feed - jekyll-sitemap -sass: - sass_dir: _sass - style: compressed +exclude: + - Gemfile + - Gemfile.lock + - gulpfile.babel.js + - LICENSE.md + - node_modules + - package.json + - package-lock.json + - README.md + - src + - tailwind.config.js + - netlify.toml + - vendor collections: authors: @@ -25,12 +35,11 @@ collections: defaults: - scope: - path: "assets/img" + path: 'assets/img' values: image: true - scope: - path: "" - type: "authors" + path: '' + type: 'authors' values: - layout: "author" - + layout: 'author' diff --git a/_data/cards.yml b/_data/cards.yml new file mode 100644 index 00000000..8a5ced93 --- /dev/null +++ b/_data/cards.yml @@ -0,0 +1,27 @@ +--- +- title: "Researching All Layers" + text: "Concerned with all layers in the stack including underlying + transports, p2p overlays and routing, initial trust establishment, and + semantics for things like group chat." + +- title: "Peer-to-Peer" + text: "The protocols we work on are pure peer-to-peer, and aim to minimize + centralization. This too is in opposition to many initiatives in the + secure messaging space." + +- title: "Security, Privacy, Censorship Resistance" + text: "Assumes the basics such as end-to-end encryption, forward secrecy, + avoiding MITM-attacks. Vac also places a premium on privacy and + censorship resistance from port blocking, traffic analysis, and + similar." + +- title: "Modular System" + text: "Provide options at each layer in the stack, instead of having a + tightly coupled set of protocols. Allowing developers to choose what + they use and ensure they know each choice comes with different + trade-offs." + +- title: "Generalized Messaging" + text: " This includes both human to human communication, as well as machine to + machine communication. Texting, data transfer, financial transactions, + state channels and more." diff --git a/_data/footer-projects.yml b/_data/footer-projects.yml new file mode 100644 index 00000000..7a0089ae --- /dev/null +++ b/_data/footer-projects.yml @@ -0,0 +1,6 @@ +--- +- title: "Waku" + link: https://waku.dev/ + +- title: "DApp Connect" + link: https://dappconnect.dev/ diff --git a/_data/footer-research.yml b/_data/footer-research.yml new file mode 100644 index 00000000..77bbdfed --- /dev/null +++ b/_data/footer-research.yml @@ -0,0 +1,6 @@ +--- +- title: "Log" + link: "/research-log" + +- title: "Specs" + link: "https://rfc.vac.dev/" diff --git a/_data/footer-socials.yml b/_data/footer-socials.yml new file mode 100644 index 00000000..eecac760 --- /dev/null +++ b/_data/footer-socials.yml @@ -0,0 +1,9 @@ +--- +- title: "Twitter" + link: https://twitter.com/vacp2p + +- title: "Discord" + link: https://discord.gg/PQFdubGt6d + +- title: "Telegram" + link: https://t.me/vacp2p diff --git a/_data/join.yml b/_data/join.yml new file mode 100644 index 00000000..2748fc63 --- /dev/null +++ b/_data/join.yml @@ -0,0 +1,21 @@ +--- +- link: https://jobs.status.im/?search=Vac + src: /assets/img/logo.svg + title: "Join the team" + text: "We are a remote team of researchers dedicated to building a fair + internet." + linkText: "View open roles" + +- link: https://discord.gg/PQFdubGt6d + src: /assets/img/discord.svg + title: "Join the convo" + text: "Ask questions or speak with us about our work as we research new + means of communication." + linkText: "Join our Discord" + +- link: https://github.com/vacp2p + src: /assets/img/github.svg + title: "Contribute on Github" + text: "Our work is open source and free for anyone to contribute to, use, + and modify for their needs." + linkText: "Contribute" diff --git a/_data/media.yml b/_data/media.yml new file mode 100644 index 00000000..9307541b --- /dev/null +++ b/_data/media.yml @@ -0,0 +1,30 @@ +--- +- title: "Vac, Waku v2 and Ethereum Messaging" + date: 2021-08-06 12:00:00 +0800 + link: https://www.youtube.com/watch?v=s0ATpQ4_XFc&ab_channel=OsakaThorp + image: https://i3.ytimg.com/vi/s0ATpQ4_XFc/maxresdefault.jpg + +- title: "ZKPodcast: ZKPs for Spam Protection & Decentralized Messaging with Status" + date: 2021-07-23 12:00:00 +0800 + link: https://www.youtube.com/watch?v=S782Ppzvkd0&ab_channel=ZeroKnowledge + image: https://img.youtube.com/vi/S782Ppzvkd0/mqdefault.jpg + +- title: "Franck Royer : DappConnect: Enabling decentralised communications using Waku" + date: 2021-07-21 12:00:00 +0800 + link: https://www.youtube.com/watch?v=rQOp3qoDF0g&ab_channel=AmphiPoissy + image: https://i3.ytimg.com/vi/rQOp3qoDF0g/maxresdefault.jpg + +- title: "Oskar Thoren | Vac, Waku v2 and Ethereum Messaging" + date: 2020-11-09 12:00:00 +0800 + link: https://www.youtube.com/watch?v=lUDy1MoeYnI&ab_channel=TaipeiEthereumMeetup + image: https://i3.ytimg.com/vi/lUDy1MoeYnI/maxresdefault.jpg + +- title: "Dean Eigenman & Oskar Thoren: From Whisper to Waku" + date: 2020-03-03 12:00:00 +0800 + link: https://www.youtube.com/watch?v=6lLT33tsJjs&ab_channel=AmphiStGermain + image: https://i3.ytimg.com/vi/6lLT33tsJjs/maxresdefault.jpg + +- title: "Private and Reliable Data Sync for Messaging Over Whisper by Dean Eigenmann & Oskar Thoren (Devcon5)" + date: 2019-08-12 12:00:00 +0800 + link: https://www.youtube.com/watch?v=zxN-PqYkZ1M&ab_channel=EthereumFoundation + image: https://i3.ytimg.com/vi/zxN-PqYkZ1M/maxresdefault.jpg diff --git a/_data/navigation.yml b/_data/navigation.yml new file mode 100644 index 00000000..180c0863 --- /dev/null +++ b/_data/navigation.yml @@ -0,0 +1,28 @@ +--- +- title: "Work" + link: "/#work" + type: local + +- title: "About" + link: "/#about" + type: local + +- title: "Join Vac" + link: "/#join" + type: local + +- title: "Research log" + link: "/research-log" + type: local + +- title: "Media" + link: "/media" + type: local + +- title: "Specs" + link: "https://rfc.vac.dev/" + type: external + +- title: "Forum" + link: "https://forum.vac.dev/" + type: external diff --git a/_data/team.yml b/_data/team.yml deleted file mode 100644 index 8b3f7439..00000000 --- a/_data/team.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- -- name: "Oskar Thoren" - shortName: "oskarth" - image: "oskar.png" - statusLink: - statusName: - github: "oskarth" - twitter: "oskarth" - -- name: "Dean Eigenmann" - shortName: "dean" - image: "dean.png" - statusLink: - statusName: - github: decanus - twitter: DeanEigenann - -- name: "Jacek Sieka" - shortName: - image: "egghead.jpg" - statusLink: - statusName: - github: arnetheduck - twitter: - -- name: "Andrea Maria Piana" - shortName: - image: "egghead.jpg" - statusLink: - statusName: - github: cammellos - twitter: - -- name: "Kim De Mey" - shortName: - image: "egghead.jpg" - statusLink: - statusName: - github: kdeme - twitter: - -- name: "Corey Petty" - shortName: - image: "egghead.jpg" - statusLink: - statusName: - github: corpetty - twitter: - -- name: "Dmitriy Ryajov" - shortName: - image: "dryajov.jpg" - statusLink: - statusName: - github: dryajov - twitter: dryajov - -- name: "Hanno Cornelius" - shortName: "hanno" - image: "hanno.png" - statusLink: - statusName: - github: jm-clius - twitter: - -- name: "Sanaz Taheri-Boshrooyeh" - shortName: "Sanaz" - image: "sanaz.png" - statusLink: - statusName: - github: staheri14 - twitter: \ No newline at end of file diff --git a/_includes/footer.html b/_includes/footer.html index 5b5ef6bf..a516bf15 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -1,67 +1,50 @@ -
-
-
-
- -
-
+
+
+ -
- -