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/.github/workflows/add-action-project.yml b/.github/workflows/add-action-project.yml
new file mode 100644
index 00000000..a9743e64
--- /dev/null
+++ b/.github/workflows/add-action-project.yml
@@ -0,0 +1,24 @@
+name: Add new issues and PRs to vac-research PM Board
+
+on:
+ issues:
+ types: [opened]
+ pull_request:
+ types: [opened]
+
+jobs:
+ add-new-issue-to-new-column:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: alex-page/github-project-automation-plus@v0.6.0
+ with:
+ project: vac-research
+ column: New
+ repo-token: ${{ secrets.GH_ACTION_PROJECT_MGMT }}
+ - name: Add pull request to column "Review/QA"
+ if: ${{ !!github.event.pull_request }}
+ uses: alex-page/github-project-automation-plus@v0.6.0
+ with:
+ project: vac-research
+ column: Review/QA
+ repo-token: ${{ secrets.GH_ACTION_PROJECT_MGMT }}
diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml
deleted file mode 100644
index e337d344..00000000
--- a/.github/workflows/deployment.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-name: Vercel webhook
-on: push
-jobs:
- deployment:
- runs-on: ubuntu-latest
- steps:
- - name: Calling webhook
- uses: fjogeleit/http-request-action@v1
- with:
- url: ${{ secrets.VERCEL_WEBHOOK }}
- method: 'POST'
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index debf1b94..e34fbe30 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,9 @@
+_site
+.sass-cache
+.jekyll-cache
+.jekyll-metadata
vendor/
.bundle/
.DS_Store
node_modules
.vscode
-.idea
\ No newline at end of file
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
new file mode 100644
index 00000000..d1696ff6
--- /dev/null
+++ b/404.html
@@ -0,0 +1,13 @@
+---
+permalink: /404.html
+layout: default
+---
+
+
+
404
+
+
+ Page not found :(
+
+
The requested page could not be found.
+
diff --git a/CNAME b/CNAME
new file mode 100644
index 00000000..8152256a
--- /dev/null
+++ b/CNAME
@@ -0,0 +1 @@
+vac.dev
\ No newline at end of file
diff --git a/Gemfile b/Gemfile
new file mode 100644
index 00000000..1c464077
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,33 @@
+source "https://rubygems.org"
+# Hello! This is where you manage which Jekyll version is used to run.
+# When you want to use a different version, change it below, save the
+# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
+#
+# bundle exec jekyll serve
+#
+# This will help ensure the proper Jekyll version is running.
+# Happy Jekylling!
+gem "jekyll", "~> 4.0.0"
+gem "jekyll-sitemap", "~> 1.4.0"
+
+# This is the default theme for new Jekyll sites. You may change this to anything you like.
+gem "minima", "~> 2.5"
+# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
+# uncomment the line below. To upgrade, run `bundle update github-pages`.
+# gem "github-pages", group: :jekyll_plugins
+# If you have any plugins, put them here!
+group :jekyll_plugins do
+ gem "jekyll-feed", "~> 0.12"
+end
+
+# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
+# and associated library.
+install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do
+ gem "tzinfo", "~> 1.2"
+ gem "tzinfo-data"
+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
new file mode 100644
index 00000000..a89cc2e8
--- /dev/null
+++ b/Gemfile.lock
@@ -0,0 +1,92 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ addressable (2.8.0)
+ public_suffix (>= 2.0.2, < 5.0)
+ colorator (1.1.0)
+ concurrent-ruby (1.1.9)
+ em-websocket (0.5.2)
+ eventmachine (>= 0.12.9)
+ http_parser.rb (~> 0.6.0)
+ eventmachine (1.2.7)
+ ffi (1.15.4)
+ forwardable-extended (2.6.0)
+ http_parser.rb (0.6.0)
+ i18n (1.8.10)
+ concurrent-ruby (~> 1.0)
+ jekyll (4.0.1)
+ addressable (~> 2.4)
+ colorator (~> 1.0)
+ em-websocket (~> 0.5)
+ i18n (>= 0.9.5, < 2)
+ jekyll-sass-converter (~> 2.0)
+ jekyll-watch (~> 2.0)
+ kramdown (~> 2.1)
+ kramdown-parser-gfm (~> 1.0)
+ liquid (~> 4.0)
+ mercenary (~> 0.3.3)
+ pathutil (~> 0.9)
+ rouge (~> 3.0)
+ safe_yaml (~> 1.0)
+ terminal-table (~> 1.8)
+ jekyll-feed (0.15.1)
+ jekyll (>= 3.7, < 5.0)
+ jekyll-sass-converter (2.1.0)
+ sassc (> 2.0.1, < 3.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)
+ listen (~> 3.0)
+ kramdown (2.3.1)
+ rexml
+ kramdown-parser-gfm (1.1.0)
+ kramdown (~> 2.0)
+ liquid (4.0.3)
+ listen (3.7.0)
+ rb-fsevent (~> 0.10, >= 0.10.3)
+ rb-inotify (~> 0.9, >= 0.9.10)
+ mercenary (0.3.6)
+ minima (2.5.1)
+ jekyll (>= 3.5, < 5.0)
+ jekyll-feed (~> 0.9)
+ jekyll-seo-tag (~> 2.1)
+ pathutil (0.16.2)
+ forwardable-extended (~> 2.6)
+ public_suffix (4.0.6)
+ rb-fsevent (0.11.0)
+ rb-inotify (0.10.1)
+ ffi (~> 1.0)
+ rexml (3.2.5)
+ rouge (3.26.1)
+ safe_yaml (1.0.5)
+ 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.9)
+ thread_safe (~> 0.1)
+ tzinfo-data (1.2021.4)
+ tzinfo (>= 1.0.0)
+ unicode-display_width (1.8.0)
+ wdm (0.1.1)
+ webrick (1.7.0)
+
+PLATFORMS
+ ruby
+ x86_64-darwin-20
+
+DEPENDENCIES
+ jekyll (~> 4.0.0)
+ jekyll-feed (~> 0.12)
+ jekyll-sitemap (~> 1.4.0)
+ minima (~> 2.5)
+ tzinfo (~> 1.2)
+ tzinfo-data
+ wdm (~> 0.1.1)
+ webrick (~> 1.7)
+
+BUNDLED WITH
+ 2.2.29
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 00000000..de0f341d
--- /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'
+ 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/_data/_authors/circe.md b/_authors/circe.md
similarity index 100%
rename from _data/_authors/circe.md
rename to _authors/circe.md
diff --git a/_data/_authors/dean.md b/_authors/dean.md
similarity index 100%
rename from _data/_authors/dean.md
rename to _authors/dean.md
diff --git a/_data/_authors/franck.md b/_authors/franck.md
similarity index 100%
rename from _data/_authors/franck.md
rename to _authors/franck.md
diff --git a/_data/_authors/hanno.md b/_authors/hanno.md
similarity index 100%
rename from _data/_authors/hanno.md
rename to _authors/hanno.md
diff --git a/_data/_authors/kaiserd.md b/_authors/kaiserd.md
similarity index 100%
rename from _data/_authors/kaiserd.md
rename to _authors/kaiserd.md
diff --git a/_data/_authors/oskarth.md b/_authors/oskarth.md
similarity index 100%
rename from _data/_authors/oskarth.md
rename to _authors/oskarth.md
diff --git a/_data/_authors/s1fr0.md b/_authors/s1fr0.md
similarity index 100%
rename from _data/_authors/s1fr0.md
rename to _authors/s1fr0.md
diff --git a/_data/_authors/sanaz.md b/_authors/sanaz.md
similarity index 100%
rename from _data/_authors/sanaz.md
rename to _authors/sanaz.md
diff --git a/_data/_authors/sanaztaheri.md b/_authors/sanaztaheri.md
similarity index 100%
rename from _data/_authors/sanaztaheri.md
rename to _authors/sanaztaheri.md
diff --git a/_config.yml b/_config.yml
new file mode 100644
index 00000000..807e8508
--- /dev/null
+++ b/_config.yml
@@ -0,0 +1,46 @@
+name: Vac
+title: Vac
+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
+twitter_username: vacp2p
+github_username: vacp2p
+
+simple_analytics: true
+
+# Build settings
+plugins:
+ - jekyll-feed
+ - jekyll-sitemap
+
+exclude:
+ - Gemfile
+ - Gemfile.lock
+ - gulpfile.babel.js
+ - LICENSE.md
+ - node_modules
+ - package.json
+ - package-lock.json
+ - README.md
+ - src
+ - assets
+ - tailwind.config.js
+ - netlify.toml
+ - vendor
+
+collections:
+ authors:
+ output: true
+
+defaults:
+ - scope:
+ path: 'assets/img'
+ values:
+ image: true
+ - scope:
+ path: ''
+ type: 'authors'
+ values:
+ 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..b41abd42
--- /dev/null
+++ b/_data/footer-projects.yml
@@ -0,0 +1,6 @@
+---
+- title: "Waku"
+ link: https://wakunetwork.com/
+
+- title: "Waku Connect"
+ link: https://wakuconnect.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/_includes/footer.html b/_includes/footer.html
new file mode 100644
index 00000000..a516bf15
--- /dev/null
+++ b/_includes/footer.html
@@ -0,0 +1,50 @@
+
diff --git a/_includes/head.html b/_includes/head.html
new file mode 100644
index 00000000..1aa92e4f
--- /dev/null
+++ b/_includes/head.html
@@ -0,0 +1,58 @@
+
+ {% if page.title %}
+