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 @@
-