From 037680731978b1e5112f2fdddbbe737abc207b18 Mon Sep 17 00:00:00 2001 From: iphydf Date: Sun, 5 Apr 2020 16:58:47 +0000 Subject: [PATCH] refactor: Revamp website built on Gatsby. --- .gitignore | 2 + Dockerfile | 101 +- Makefile | 64 - README.md | 28 +- toktok/.gitignore | 18 +- toktok/.nvmrc | 1 + toktok/CNAME | 1 - toktok/Gemfile | 3 - toktok/Guardfile | 3 - toktok/_config.yml | 21 - toktok/_data/repos.yml | 33 - toktok/_includes/footer.html | 22 - toktok/_includes/head.html | 19 - toktok/_includes/nav.html | 22 - toktok/_includes/navitems.html | 17 - toktok/_includes/repository.html | 7 - toktok/_layouts/default.html | 25 - toktok/cla.md | 181 - .../blog/2015-07-11_current-situation-3.md | 77 + .../blog/2015-08-08_tox-dev-talks-1.md | 54 + ...egarding-irungentoos-indiegogo-campaign.md | 34 + .../blog/2015-08-22_tox-dev-talks-2.md | 72 + .../blog/2015-08-29_tox-dev-talks-3.md | 56 + .../content/blog/2015-09-01_sound-design.md | 18 + .../2015-09-05_successful-indiegogo/index.md | 51 + .../irungentoo-indiegogo.png | Bin 0 -> 89784 bytes .../2015-09-12_fuzzing-the-new-groupchats.md | 161 + toktok/content/blog/2015-09-21_new-website.md | 33 + .../content/blog/2015-11-03_new-tox-av-api.md | 26 + .../2016-02-08_scale-14x-post-mortem/index.md | 100 + .../scale-14x-1.jpg | Bin 0 -> 68445 bytes .../scale-14x-2.jpg | Bin 0 -> 54674 bytes .../scale-14x-3.jpg | Bin 0 -> 123166 bytes .../scale-14x-4.jpg | Bin 0 -> 190009 bytes .../scale-14x-5.jpg | Bin 0 -> 149512 bytes .../scale-14x-6.jpg | Bin 0 -> 210837 bytes .../scale-14x-7.jpg | Bin 0 -> 223046 bytes ...tox-endorses-donald-trump-for-president.md | 22 + ...e-new-group-chats-multi-device-and-more.md | 46 + ...ox-in-google-play-toxcore-fork-and-more.md | 209 + ...es-tox-in-app-store-and-toxcore-updates.md | 129 + ..._first-stable-release-of-toktok-toxcore.md | 45 + ...affecting-the-fully-static-toxic-builds.md | 18 + .../blog/2018-01-12_contributors-wanted.md | 115 + ...xcore-and-the-upcoming-breaking-version.md | 64 + ...he-debian-and-ubuntu-package-repository.md | 17 + .../2018-03-02_toxcore-v0-2-0-released.md | 37 + ...y-vulnerability-and-new-toxcore-release.md | 125 + .../blog/2018-06-06_toxcon-2018/index.md | 20 + .../toxcon-2018-poster.png | Bin 0 -> 125582 bytes .../2018-08-26_toxcon-2018-update/index.md | 35 + .../toxcon-2018-summary.png | Bin 0 -> 110306 bytes ...k-bug-and-new-toxcore-release-fixing-it.md | 54 + .../2018-11-12_toxcon-2018-report/index.md | 28 + .../toxcon-2018-group.jpg | Bin 0 -> 138903 bytes .../toxcon-2018-organizers.jpg | Bin 0 -> 151618 bytes .../blog/2019-05-21_toxcon-2019/index.md | 28 + .../toxcon-2019-poster.png | Bin 0 -> 95553 bytes .../blog/archive/-ce-bctox-updates-0-0-9.md | 26 + .../blog/archive/-ce-bctox-updates-0-1-0.md | 24 + .../blog/archive/-ce-bctox-updates-0-1-1.md | 24 + .../blog/archive/-ce-bctox-updates-0-1-2.md | 26 + .../blog/archive/-ce-bctox-updates-0-1-3.md | 23 + .../archive/Update-on-the-state-of-Tox.md | 84 + .../a-quick-overlook-at-toxs-mission.md | 10 + .../achievement-get-groupchat-audio.md | 20 + .../archive/antox-0-13-0-alpha-release.md | 32 + .../antox-0-4-pushed-to-google-play.md | 12 + .../blog/archive/antox-0-5-released.md | 18 + .../blog/archive/antox-0-6-1-released.md | 15 + .../blog/archive/antox-0-6-3-released.md | 16 + .../blog/archive/antox-0-6-4-released.md | 14 + .../blog/archive/antox-0-6-5-released.md | 21 + .../blog/archive/antox-0-6-released.md | 23 + .../blog/archive/antox-0-7-released.md | 22 + toktok/content/blog/archive/antox-jenkins.md | 19 + .../antox-nightly-builds-google-play-store.md | 14 + .../archive/antox-release-0-14-0-alpha.md | 14 + .../blog/archive/antox-v0-12-released.md | 25 + .../archive/antox-v0-8-1-alpha-released.md | 24 + .../apt-yum-repos-now-available-for-venom.md | 20 + toktok/content/blog/archive/audio.md | 14 + .../content/blog/archive/build-systems-yo.md | 66 + toktok/content/blog/archive/downtime.md | 22 + .../f-droid-repo-changing-ssl-certificate.md | 15 + .../content/blog/archive/gsoc-14-proposals.md | 18 + .../blog/archive/gsoc-translations-more.md | 31 + toktok/content/blog/archive/hello-world-2.md | 11 + .../help-tox-grow-run-a-tox-node-today.md | 12 + .../archive/how-the-crypto-tox-uses-works.md | 76 + .../introducing-sts-single-tox-standard.md | 14 + .../blog/archive/introducing-toxcoin.md | 54 + .../archive/jenkins-ci-and-signed-commits.md | 59 + .../content/blog/archive/new-api-gsoc-2015.md | 30 + ...estone-reached-audio-calling-on-windows.md | 21 + .../no-antox-gplay-release-for-march-13th.md | 10 + .../archive/qtox-now-in-tox-repositories.md | 16 + .../blog/archive/ratox-in-tox-repositories.md | 15 + toktok/content/blog/archive/stf-4-14.md | 22 + .../blog/archive/sts-approaches-v0-0-5.md | 13 + .../archive/tcp-branch-merged-with-master.md | 12 + .../blog/archive/tcp-relay-work-begun.md | 12 + .../archive/the-tcp-branch-an-explanation.md | 30 + .../blog/archive/to-5000-and-beyond.md | 12 + .../content/blog/archive/took-long-enough.md | 23 + .../blog/archive/tox-a-new-direction.md | 39 + .../tox-bootstrap-now-packaging-for-armhf.md | 13 + toktok/content/blog/archive/tox-chromeos.md | 43 + .../blog/archive/tox-core-and-api-changes.md | 17 + .../content/blog/archive/tox-friends-2015.md | 42 + toktok/content/blog/archive/tox-ftl.md | 42 + .../content/blog/archive/tox-infa-update.md | 28 + .../blog/archive/tox-now-works-through-tor.md | 22 + toktok/content/blog/archive/tox-on-osx.md | 19 + .../content/blog/archive/tox-on-your-wii.md | 29 + .../archive/tox-packaging-and-versions.md | 31 + .../content/blog/archive/tox-updates-kinda.md | 24 + .../toxic-added-to-tox-repositories.md | 16 + .../content/blog/archive/toxic-and-threads.md | 12 + ...ic-release-v-0-5-2-and-groupchat-issues.md | 22 + ...xicity-and-background-and-notifications.md | 14 + .../blog/archive/toxicity-and-jenkins.md | 12 + ...-audio-filtering-noise-cancellation-etc.md | 16 + .../blog/archive/utox-now-in-apt-yum-repos.md | 16 + .../blog/archive/utox-updates-0-1-8.md | 18 + .../blog/archive/utox-updates-0-1-a.md | 14 + .../venom-changes-for-march-12th-2014.md | 16 + .../blog/archive/warrant-canary-changes.md | 16 + .../archive/warrant-canary-updated-changes.md | 12 + .../were-not-dead-just-working-on-tcp.md | 10 + toktok/contributing.md | 130 - toktok/designs/osmock.md | 157 - toktok/designs/plan.md | 146 - toktok/designs/template.md | 46 - toktok/designs/testing.md | 188 - toktok/designs/tqnl.md | 107 - toktok/development.md | 182 - toktok/documents.md | 41 - toktok/gatsby-config.js | 65 + toktok/gatsby-node.js | 64 + toktok/gatsby-ssr.js | 19 + toktok/get-started.md | 17 - toktok/index.md | 55 - toktok/integrations.md | 119 - toktok/mission.md | 43 - toktok/package-lock.json | 19112 ++++++++++++++++ toktok/package.json | 50 + toktok/pulls.md | 72 - toktok/repos.md | 24 - toktok/reviews.md | 104 - toktok/roadmap.md | 95 - toktok/roadmap/c-toxcore.md.dist | 4 - toktok/spec.md.dist | 11 - toktok/src/components/Accordion/Card.tsx | 29 + toktok/src/components/Nav/Link.tsx | 12 + toktok/src/components/bio.tsx | 60 + toktok/src/components/blog.tsx | 11 + toktok/src/components/content/about.tsx | 45 + toktok/src/components/content/features.tsx | 119 + toktok/src/components/osdetect.ts | 144 + toktok/src/components/seo.tsx | 83 + toktok/src/declarations.d.ts | 1 + toktok/src/fonts/Flaticon.eot | Bin 0 -> 21644 bytes toktok/src/fonts/Flaticon.svg | 749 + toktok/src/fonts/Flaticon.ttf | Bin 0 -> 21468 bytes toktok/src/fonts/Flaticon.woff | Bin 0 -> 13612 bytes toktok/src/fonts/FontAwesome.otf | Bin 0 -> 134808 bytes toktok/{static => src}/fonts/Glyphter.eot | Bin toktok/{static => src}/fonts/Glyphter.ttf | Bin toktok/{static => src}/fonts/Glyphter.woff | Bin toktok/{static => src}/fonts/Lato-Bold.ttf | Bin toktok/{static => src}/fonts/Lato-Bold.woff | Bin toktok/{static => src}/fonts/Lato-Regular.ttf | Bin .../{static => src}/fonts/Lato-Regular.woff | Bin toktok/src/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes toktok/src/fonts/fontawesome-webfont.svg | 2671 +++ toktok/src/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes toktok/src/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes toktok/src/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes toktok/src/images/ajax-loader.gif | Bin 0 -> 3208 bytes toktok/src/images/app-mobile.png | Bin 0 -> 68714 bytes toktok/src/images/apple-touch-icon.png | Bin 0 -> 6015 bytes toktok/src/images/bg-img.jpg | Bin 0 -> 13520 bytes toktok/src/images/bg.png | Bin 0 -> 148502 bytes toktok/src/images/d-bg.jpg | Bin 0 -> 46114 bytes toktok/src/images/front.jpg | Bin 0 -> 148525 bytes toktok/src/images/front.xcf | Bin 0 -> 2875833 bytes toktok/src/images/img-1.jpg | Bin 0 -> 7798 bytes toktok/src/images/img-2.jpg | Bin 0 -> 10424 bytes toktok/src/images/img-3.jpg | Bin 0 -> 7852 bytes toktok/src/images/phonebg_1.png | Bin 0 -> 10070 bytes toktok/src/layouts/main.tsx | 133 + toktok/src/pages/404.tsx | 10 + toktok/src/pages/about.tsx | 12 + toktok/src/pages/blog.tsx | 72 + toktok/src/pages/contributing.tsx | 48 + toktok/src/pages/download.tsx | 171 + toktok/src/pages/download/android.tsx | 30 + toktok/src/pages/download/other.tsx | 161 + toktok/src/pages/faqs.tsx | 125 + toktok/src/pages/index.tsx | 56 + toktok/src/pages/technical-faq.tsx | 100 + toktok/src/styles/css/animate.scss | 1 + toktok/src/styles/css/flaticon.scss | 78 + toktok/src/styles/css/hero-slider.scss | 241 + toktok/src/styles/css/modals.scss | 227 + toktok/src/styles/index.scss | 1863 ++ toktok/src/templates/blog-post.tsx | 78 + toktok/static/css/bootstrap.css | 3690 --- toktok/static/css/style.css | 881 - toktok/static/fonts/FiraSans-Light.ttf | Bin 193712 -> 0 bytes toktok/static/fonts/FiraSans-Light.woff | Bin 83388 -> 0 bytes toktok/static/fonts/FiraSans-Regular.ttf | Bin 194812 -> 0 bytes toktok/static/fonts/FiraSans-Regular.woff | Bin 83136 -> 0 bytes toktok/static/fonts/FiraSans-UltraLight.ttf | Bin 192864 -> 0 bytes toktok/static/fonts/FiraSans-UltraLight.woff | Bin 83308 -> 0 bytes toktok/static/fonts/Glyphter.svg | 1 - toktok/static/{img => images}/CC.png | Bin toktok/static/images/about-01.png | Bin 0 -> 261266 bytes toktok/static/images/about-01.xcf | Bin 0 -> 596933 bytes toktok/static/images/about-02.png | Bin 0 -> 160218 bytes toktok/static/images/about-02.xcf | Bin 0 -> 486357 bytes toktok/static/images/app_iphone_01.png | Bin 0 -> 54739 bytes toktok/static/images/app_iphone_02.png | Bin 0 -> 141172 bytes toktok/static/images/ben_img_2.jpg | Bin 0 -> 48819 bytes toktok/static/images/distributed.svg | 207 + toktok/static/images/download/Android.png | Bin 0 -> 228661 bytes toktok/static/images/download/Android.xcf | Bin 0 -> 929449 bytes toktok/static/images/download/FreeBSD.png | Bin 0 -> 146416 bytes toktok/static/images/download/FreeBSD.xcf | Bin 0 -> 500988 bytes toktok/static/images/download/Linux.png | Bin 0 -> 144007 bytes toktok/static/images/download/Linux.xcf | Bin 0 -> 497269 bytes toktok/static/images/download/Mac.png | Bin 0 -> 120557 bytes toktok/static/images/download/Mac.xcf | Bin 0 -> 711934 bytes toktok/static/images/download/Unknown.png | Bin 0 -> 120557 bytes toktok/static/images/download/Windows.png | Bin 0 -> 375534 bytes toktok/static/images/download/Windows.xcf | Bin 0 -> 1108882 bytes toktok/static/images/download/iOS.png | Bin 0 -> 178011 bytes toktok/static/images/download/iOS.xcf | Bin 0 -> 493988 bytes toktok/static/images/favicon.ico | Bin 0 -> 16958 bytes toktok/static/images/iphones.png | Bin 0 -> 172156 bytes toktok/static/{img => images/logos}/do.svg | 0 toktok/static/images/logos/logo.svg | 71 + toktok/static/images/plat/android.svg | 73 + toktok/static/images/plat/android_dark.svg | 55 + toktok/static/images/plat/freebsd.svg | 66 + toktok/static/images/plat/freebsd_dark.svg | 67 + toktok/static/images/plat/ios.svg | 57 + toktok/static/images/plat/ios_dark.svg | 57 + toktok/static/images/plat/linux.svg | 172 + toktok/static/images/plat/linux_dark.svg | 58 + toktok/static/images/plat/mac.svg | 57 + toktok/static/images/plat/mac_dark.svg | 57 + toktok/static/images/plat/windows.svg | 56 + toktok/static/images/plat/windows_dark.svg | 57 + toktok/static/images/qtox.png | Bin 0 -> 338139 bytes toktok/static/images/qtox.xcf | Bin 0 -> 711934 bytes toktok/static/images/team_01.jpg | Bin 0 -> 11795 bytes toktok/static/images/team_02.jpg | Bin 0 -> 13972 bytes toktok/static/images/team_03.jpg | Bin 0 -> 19946 bytes toktok/static/img/lawyer-cat.jpg | Bin 32388 -> 0 bytes toktok/static/js/pr-table.js | 170 - toktok/tsconfig.json | 12 + toktok/tslint.json | 13 + 264 files changed, 31201 insertions(+), 6776 deletions(-) delete mode 100644 Makefile create mode 100644 toktok/.nvmrc delete mode 100644 toktok/CNAME delete mode 100644 toktok/Gemfile delete mode 100644 toktok/Guardfile delete mode 100644 toktok/_config.yml delete mode 100644 toktok/_data/repos.yml delete mode 100644 toktok/_includes/footer.html delete mode 100644 toktok/_includes/head.html delete mode 100644 toktok/_includes/nav.html delete mode 100644 toktok/_includes/navitems.html delete mode 100644 toktok/_includes/repository.html delete mode 100644 toktok/_layouts/default.html delete mode 100644 toktok/cla.md create mode 100644 toktok/content/blog/2015-07-11_current-situation-3.md create mode 100644 toktok/content/blog/2015-08-08_tox-dev-talks-1.md create mode 100644 toktok/content/blog/2015-08-09_regarding-irungentoos-indiegogo-campaign.md create mode 100644 toktok/content/blog/2015-08-22_tox-dev-talks-2.md create mode 100644 toktok/content/blog/2015-08-29_tox-dev-talks-3.md create mode 100644 toktok/content/blog/2015-09-01_sound-design.md create mode 100644 toktok/content/blog/2015-09-05_successful-indiegogo/index.md create mode 100644 toktok/content/blog/2015-09-05_successful-indiegogo/irungentoo-indiegogo.png create mode 100644 toktok/content/blog/2015-09-12_fuzzing-the-new-groupchats.md create mode 100644 toktok/content/blog/2015-09-21_new-website.md create mode 100644 toktok/content/blog/2015-11-03_new-tox-av-api.md create mode 100644 toktok/content/blog/2016-02-08_scale-14x-post-mortem/index.md create mode 100644 toktok/content/blog/2016-02-08_scale-14x-post-mortem/scale-14x-1.jpg create mode 100644 toktok/content/blog/2016-02-08_scale-14x-post-mortem/scale-14x-2.jpg create mode 100644 toktok/content/blog/2016-02-08_scale-14x-post-mortem/scale-14x-3.jpg create mode 100644 toktok/content/blog/2016-02-08_scale-14x-post-mortem/scale-14x-4.jpg create mode 100644 toktok/content/blog/2016-02-08_scale-14x-post-mortem/scale-14x-5.jpg create mode 100644 toktok/content/blog/2016-02-08_scale-14x-post-mortem/scale-14x-6.jpg create mode 100644 toktok/content/blog/2016-02-08_scale-14x-post-mortem/scale-14x-7.jpg create mode 100644 toktok/content/blog/2016-04-01_tox-endorses-donald-trump-for-president.md create mode 100644 toktok/content/blog/2016-06-07_update-new-group-chats-multi-device-and-more.md create mode 100644 toktok/content/blog/2016-08-26_update-new-client-xenial-packages-tox-in-google-play-toxcore-fork-and-more.md create mode 100644 toktok/content/blog/2016-10-30_update-ubuntu-yakkety-packages-tox-in-app-store-and-toxcore-updates.md create mode 100644 toktok/content/blog/2016-12-20_first-stable-release-of-toktok-toxcore.md create mode 100644 toktok/content/blog/2017-10-20_bug-in-musl-libc-discovered-affecting-the-fully-static-toxic-builds.md create mode 100644 toktok/content/blog/2018-01-12_contributors-wanted.md create mode 100644 toktok/content/blog/2018-01-12_update-on-toxcore-and-the-upcoming-breaking-version.md create mode 100644 toktok/content/blog/2018-02-23_shutdown-of-the-debian-and-ubuntu-package-repository.md create mode 100644 toktok/content/blog/2018-03-02_toxcore-v0-2-0-released.md create mode 100644 toktok/content/blog/2018-04-20_security-vulnerability-and-new-toxcore-release.md create mode 100644 toktok/content/blog/2018-06-06_toxcon-2018/index.md create mode 100644 toktok/content/blog/2018-06-06_toxcon-2018/toxcon-2018-poster.png create mode 100644 toktok/content/blog/2018-08-26_toxcon-2018-update/index.md create mode 100644 toktok/content/blog/2018-08-26_toxcon-2018-update/toxcon-2018-summary.png create mode 100644 toktok/content/blog/2018-10-08_memory-leak-bug-and-new-toxcore-release-fixing-it.md create mode 100644 toktok/content/blog/2018-11-12_toxcon-2018-report/index.md create mode 100644 toktok/content/blog/2018-11-12_toxcon-2018-report/toxcon-2018-group.jpg create mode 100644 toktok/content/blog/2018-11-12_toxcon-2018-report/toxcon-2018-organizers.jpg create mode 100644 toktok/content/blog/2019-05-21_toxcon-2019/index.md create mode 100644 toktok/content/blog/2019-05-21_toxcon-2019/toxcon-2019-poster.png create mode 100644 toktok/content/blog/archive/-ce-bctox-updates-0-0-9.md create mode 100644 toktok/content/blog/archive/-ce-bctox-updates-0-1-0.md create mode 100644 toktok/content/blog/archive/-ce-bctox-updates-0-1-1.md create mode 100644 toktok/content/blog/archive/-ce-bctox-updates-0-1-2.md create mode 100644 toktok/content/blog/archive/-ce-bctox-updates-0-1-3.md create mode 100644 toktok/content/blog/archive/Update-on-the-state-of-Tox.md create mode 100644 toktok/content/blog/archive/a-quick-overlook-at-toxs-mission.md create mode 100644 toktok/content/blog/archive/achievement-get-groupchat-audio.md create mode 100644 toktok/content/blog/archive/antox-0-13-0-alpha-release.md create mode 100644 toktok/content/blog/archive/antox-0-4-pushed-to-google-play.md create mode 100644 toktok/content/blog/archive/antox-0-5-released.md create mode 100644 toktok/content/blog/archive/antox-0-6-1-released.md create mode 100644 toktok/content/blog/archive/antox-0-6-3-released.md create mode 100644 toktok/content/blog/archive/antox-0-6-4-released.md create mode 100644 toktok/content/blog/archive/antox-0-6-5-released.md create mode 100644 toktok/content/blog/archive/antox-0-6-released.md create mode 100644 toktok/content/blog/archive/antox-0-7-released.md create mode 100644 toktok/content/blog/archive/antox-jenkins.md create mode 100644 toktok/content/blog/archive/antox-nightly-builds-google-play-store.md create mode 100644 toktok/content/blog/archive/antox-release-0-14-0-alpha.md create mode 100644 toktok/content/blog/archive/antox-v0-12-released.md create mode 100644 toktok/content/blog/archive/antox-v0-8-1-alpha-released.md create mode 100644 toktok/content/blog/archive/apt-yum-repos-now-available-for-venom.md create mode 100644 toktok/content/blog/archive/audio.md create mode 100644 toktok/content/blog/archive/build-systems-yo.md create mode 100644 toktok/content/blog/archive/downtime.md create mode 100644 toktok/content/blog/archive/f-droid-repo-changing-ssl-certificate.md create mode 100644 toktok/content/blog/archive/gsoc-14-proposals.md create mode 100644 toktok/content/blog/archive/gsoc-translations-more.md create mode 100644 toktok/content/blog/archive/hello-world-2.md create mode 100644 toktok/content/blog/archive/help-tox-grow-run-a-tox-node-today.md create mode 100644 toktok/content/blog/archive/how-the-crypto-tox-uses-works.md create mode 100644 toktok/content/blog/archive/introducing-sts-single-tox-standard.md create mode 100644 toktok/content/blog/archive/introducing-toxcoin.md create mode 100644 toktok/content/blog/archive/jenkins-ci-and-signed-commits.md create mode 100644 toktok/content/blog/archive/new-api-gsoc-2015.md create mode 100644 toktok/content/blog/archive/new-milestone-reached-audio-calling-on-windows.md create mode 100644 toktok/content/blog/archive/no-antox-gplay-release-for-march-13th.md create mode 100644 toktok/content/blog/archive/qtox-now-in-tox-repositories.md create mode 100644 toktok/content/blog/archive/ratox-in-tox-repositories.md create mode 100644 toktok/content/blog/archive/stf-4-14.md create mode 100644 toktok/content/blog/archive/sts-approaches-v0-0-5.md create mode 100644 toktok/content/blog/archive/tcp-branch-merged-with-master.md create mode 100644 toktok/content/blog/archive/tcp-relay-work-begun.md create mode 100644 toktok/content/blog/archive/the-tcp-branch-an-explanation.md create mode 100644 toktok/content/blog/archive/to-5000-and-beyond.md create mode 100644 toktok/content/blog/archive/took-long-enough.md create mode 100644 toktok/content/blog/archive/tox-a-new-direction.md create mode 100644 toktok/content/blog/archive/tox-bootstrap-now-packaging-for-armhf.md create mode 100644 toktok/content/blog/archive/tox-chromeos.md create mode 100644 toktok/content/blog/archive/tox-core-and-api-changes.md create mode 100644 toktok/content/blog/archive/tox-friends-2015.md create mode 100644 toktok/content/blog/archive/tox-ftl.md create mode 100644 toktok/content/blog/archive/tox-infa-update.md create mode 100644 toktok/content/blog/archive/tox-now-works-through-tor.md create mode 100644 toktok/content/blog/archive/tox-on-osx.md create mode 100644 toktok/content/blog/archive/tox-on-your-wii.md create mode 100644 toktok/content/blog/archive/tox-packaging-and-versions.md create mode 100644 toktok/content/blog/archive/tox-updates-kinda.md create mode 100644 toktok/content/blog/archive/toxic-added-to-tox-repositories.md create mode 100644 toktok/content/blog/archive/toxic-and-threads.md create mode 100644 toktok/content/blog/archive/toxic-release-v-0-5-2-and-groupchat-issues.md create mode 100644 toktok/content/blog/archive/toxicity-and-background-and-notifications.md create mode 100644 toktok/content/blog/archive/toxicity-and-jenkins.md create mode 100644 toktok/content/blog/archive/utox-now-has-audio-filtering-noise-cancellation-etc.md create mode 100644 toktok/content/blog/archive/utox-now-in-apt-yum-repos.md create mode 100644 toktok/content/blog/archive/utox-updates-0-1-8.md create mode 100644 toktok/content/blog/archive/utox-updates-0-1-a.md create mode 100644 toktok/content/blog/archive/venom-changes-for-march-12th-2014.md create mode 100644 toktok/content/blog/archive/warrant-canary-changes.md create mode 100644 toktok/content/blog/archive/warrant-canary-updated-changes.md create mode 100644 toktok/content/blog/archive/were-not-dead-just-working-on-tcp.md delete mode 100644 toktok/contributing.md delete mode 100644 toktok/designs/osmock.md delete mode 100644 toktok/designs/plan.md delete mode 100644 toktok/designs/template.md delete mode 100644 toktok/designs/testing.md delete mode 100644 toktok/designs/tqnl.md delete mode 100644 toktok/development.md delete mode 100644 toktok/documents.md create mode 100644 toktok/gatsby-config.js create mode 100644 toktok/gatsby-node.js create mode 100644 toktok/gatsby-ssr.js delete mode 100644 toktok/get-started.md delete mode 100644 toktok/index.md delete mode 100644 toktok/integrations.md delete mode 100644 toktok/mission.md create mode 100644 toktok/package-lock.json create mode 100644 toktok/package.json delete mode 100644 toktok/pulls.md delete mode 100644 toktok/repos.md delete mode 100644 toktok/reviews.md delete mode 100644 toktok/roadmap.md delete mode 100644 toktok/roadmap/c-toxcore.md.dist delete mode 100644 toktok/spec.md.dist create mode 100644 toktok/src/components/Accordion/Card.tsx create mode 100644 toktok/src/components/Nav/Link.tsx create mode 100644 toktok/src/components/bio.tsx create mode 100644 toktok/src/components/blog.tsx create mode 100644 toktok/src/components/content/about.tsx create mode 100644 toktok/src/components/content/features.tsx create mode 100644 toktok/src/components/osdetect.ts create mode 100644 toktok/src/components/seo.tsx create mode 100644 toktok/src/declarations.d.ts create mode 100644 toktok/src/fonts/Flaticon.eot create mode 100644 toktok/src/fonts/Flaticon.svg create mode 100644 toktok/src/fonts/Flaticon.ttf create mode 100644 toktok/src/fonts/Flaticon.woff create mode 100644 toktok/src/fonts/FontAwesome.otf rename toktok/{static => src}/fonts/Glyphter.eot (100%) rename toktok/{static => src}/fonts/Glyphter.ttf (100%) rename toktok/{static => src}/fonts/Glyphter.woff (100%) rename toktok/{static => src}/fonts/Lato-Bold.ttf (100%) rename toktok/{static => src}/fonts/Lato-Bold.woff (100%) rename toktok/{static => src}/fonts/Lato-Regular.ttf (100%) rename toktok/{static => src}/fonts/Lato-Regular.woff (100%) create mode 100644 toktok/src/fonts/fontawesome-webfont.eot create mode 100644 toktok/src/fonts/fontawesome-webfont.svg create mode 100644 toktok/src/fonts/fontawesome-webfont.ttf create mode 100644 toktok/src/fonts/fontawesome-webfont.woff create mode 100644 toktok/src/fonts/fontawesome-webfont.woff2 create mode 100644 toktok/src/images/ajax-loader.gif create mode 100644 toktok/src/images/app-mobile.png create mode 100644 toktok/src/images/apple-touch-icon.png create mode 100644 toktok/src/images/bg-img.jpg create mode 100644 toktok/src/images/bg.png create mode 100644 toktok/src/images/d-bg.jpg create mode 100644 toktok/src/images/front.jpg create mode 100644 toktok/src/images/front.xcf create mode 100644 toktok/src/images/img-1.jpg create mode 100644 toktok/src/images/img-2.jpg create mode 100644 toktok/src/images/img-3.jpg create mode 100644 toktok/src/images/phonebg_1.png create mode 100644 toktok/src/layouts/main.tsx create mode 100644 toktok/src/pages/404.tsx create mode 100644 toktok/src/pages/about.tsx create mode 100644 toktok/src/pages/blog.tsx create mode 100644 toktok/src/pages/contributing.tsx create mode 100644 toktok/src/pages/download.tsx create mode 100644 toktok/src/pages/download/android.tsx create mode 100644 toktok/src/pages/download/other.tsx create mode 100644 toktok/src/pages/faqs.tsx create mode 100644 toktok/src/pages/index.tsx create mode 100644 toktok/src/pages/technical-faq.tsx create mode 100644 toktok/src/styles/css/animate.scss create mode 100644 toktok/src/styles/css/flaticon.scss create mode 100644 toktok/src/styles/css/hero-slider.scss create mode 100644 toktok/src/styles/css/modals.scss create mode 100644 toktok/src/styles/index.scss create mode 100644 toktok/src/templates/blog-post.tsx delete mode 100644 toktok/static/css/bootstrap.css delete mode 100644 toktok/static/css/style.css delete mode 100644 toktok/static/fonts/FiraSans-Light.ttf delete mode 100644 toktok/static/fonts/FiraSans-Light.woff delete mode 100644 toktok/static/fonts/FiraSans-Regular.ttf delete mode 100644 toktok/static/fonts/FiraSans-Regular.woff delete mode 100644 toktok/static/fonts/FiraSans-UltraLight.ttf delete mode 100644 toktok/static/fonts/FiraSans-UltraLight.woff delete mode 100644 toktok/static/fonts/Glyphter.svg rename toktok/static/{img => images}/CC.png (100%) create mode 100644 toktok/static/images/about-01.png create mode 100644 toktok/static/images/about-01.xcf create mode 100644 toktok/static/images/about-02.png create mode 100644 toktok/static/images/about-02.xcf create mode 100644 toktok/static/images/app_iphone_01.png create mode 100644 toktok/static/images/app_iphone_02.png create mode 100644 toktok/static/images/ben_img_2.jpg create mode 100644 toktok/static/images/distributed.svg create mode 100644 toktok/static/images/download/Android.png create mode 100644 toktok/static/images/download/Android.xcf create mode 100644 toktok/static/images/download/FreeBSD.png create mode 100644 toktok/static/images/download/FreeBSD.xcf create mode 100644 toktok/static/images/download/Linux.png create mode 100644 toktok/static/images/download/Linux.xcf create mode 100644 toktok/static/images/download/Mac.png create mode 100644 toktok/static/images/download/Mac.xcf create mode 100644 toktok/static/images/download/Unknown.png create mode 100644 toktok/static/images/download/Windows.png create mode 100644 toktok/static/images/download/Windows.xcf create mode 100644 toktok/static/images/download/iOS.png create mode 100644 toktok/static/images/download/iOS.xcf create mode 100644 toktok/static/images/favicon.ico create mode 100644 toktok/static/images/iphones.png rename toktok/static/{img => images/logos}/do.svg (100%) create mode 100644 toktok/static/images/logos/logo.svg create mode 100644 toktok/static/images/plat/android.svg create mode 100644 toktok/static/images/plat/android_dark.svg create mode 100644 toktok/static/images/plat/freebsd.svg create mode 100644 toktok/static/images/plat/freebsd_dark.svg create mode 100644 toktok/static/images/plat/ios.svg create mode 100644 toktok/static/images/plat/ios_dark.svg create mode 100644 toktok/static/images/plat/linux.svg create mode 100644 toktok/static/images/plat/linux_dark.svg create mode 100644 toktok/static/images/plat/mac.svg create mode 100644 toktok/static/images/plat/mac_dark.svg create mode 100644 toktok/static/images/plat/windows.svg create mode 100644 toktok/static/images/plat/windows_dark.svg create mode 100644 toktok/static/images/qtox.png create mode 100644 toktok/static/images/qtox.xcf create mode 100644 toktok/static/images/team_01.jpg create mode 100644 toktok/static/images/team_02.jpg create mode 100644 toktok/static/images/team_03.jpg delete mode 100644 toktok/static/img/lawyer-cat.jpg delete mode 100644 toktok/static/js/pr-table.js create mode 100644 toktok/tsconfig.json create mode 100644 toktok/tslint.json diff --git a/.gitignore b/.gitignore index 37f371cb..d8fb8c87 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ /hs-toxcore /toktok-site _site +*-e +*.swp diff --git a/Dockerfile b/Dockerfile index a3f594fd..ad28b0e2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,42 +1,65 @@ -FROM alpine:3.21 - -# hadolint ignore=DL3018 -RUN ["apk", "add", "--no-cache", \ - "curl", \ - "g++", \ - "gcc", \ - "git", \ - "graphviz", \ - "jekyll", \ - "make", \ - "pandoc", \ - "py3-pip", \ - "python3"] -RUN python3 -m venv /path/to/venv -# hadolint ignore=DL3013 -RUN . /path/to/venv/bin/activate \ - && pip install --no-cache-dir LinkChecker - -RUN ["gem", "install", "--no-document", "guard-livereload", "mdl"] - -RUN addgroup -S builder && adduser -SDH -G builder builder -USER builder - -WORKDIR /home/builder/build -COPY --chown=builder:builder Makefile /home/builder/build/ -COPY --chown=builder:builder entrypoint.sh /home/builder/ - -COPY --chown=builder:builder toktok/spec.md.dist /home/builder/build/toktok/ -RUN ["make", "toktok/spec.md"] - -COPY --chown=builder:builder toktok/ /home/builder/build/toktok/ -RUN ["make", "toktok-site"] - -COPY .md-style.rb /home/builder/build/ -RUN ["make", "lint"] -RUN . /path/to/venv/bin/activate \ - && make check \ - && mv toktok-site _site +FROM ubuntu:22.04 + +ENV DEBIAN_FRONTEND="noninteractive" + +# hadolint ignore=DL3008 +RUN apt-get update && apt-get install -y --no-install-recommends \ + curl \ + g++ \ + git \ + make \ + pandoc \ + python-is-python3 \ + python2 \ + python3 \ + python3-bs4 \ + python3-dnspython \ + python3-requests \ + python3-urllib3 \ + python3-xdg \ + ruby \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* \ + && curl -s -o linkchecker.deb http://ftp.debian.org/debian/pool/main/l/linkchecker/linkchecker_10.0.1-2_amd64.deb \ + && dpkg -i linkchecker.deb \ + && rm linkchecker.deb + +RUN ["mkdir", "/usr/local/nvm"] +ENV NVM_DIR=/usr/local/nvm \ + NODE_VERSION=14.18.2 + +RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash \ + && . $NVM_DIR/nvm.sh \ + && nvm install $NODE_VERSION \ + && nvm alias default $NODE_VERSION \ + && nvm use default + +ENV NODE_PATH=$NVM_DIR/v$NODE_VERSION/lib/node_modules \ + PATH=$NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH + +RUN ["gem", "install", "--no-document", "mdl"] + +RUN groupadd -r -g 1000 builder \ + && useradd --no-log-init -r -g builder -u 1000 builder + +COPY toktok /home/builder/build/toktok/ +#COPY Makefile /home/builder/build/ +COPY entrypoint.sh /home/builder/ + +#COPY --chown=builder:builder toktok/spec.md.dist /home/builder/build/toktok/ +#RUN ["make", "toktok/spec.md"] + +#RUN ["make", "hs-toxcore"] +#RUN ["make", "toktok-site"] + +#COPY .md-style.rb /home/builder/build/ +#RUN ["make", "lint"] +#RUN ["make", "check"] +WORKDIR /home/builder/build/toktok +RUN ["npm", "install"] +RUN ["npm", "run", "build"] + +RUN ["mv", "/home/builder/build/toktok/public/", "/home/builder/build/_site"] WORKDIR /home/builder/build/_site ENTRYPOINT ["/home/builder/entrypoint.sh"] diff --git a/Makefile b/Makefile deleted file mode 100644 index 0bd086aa..00000000 --- a/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -REPOS := \ - c-toxcore \ - qTox - -# -# build the website with jekyll -# -toktok-site: $(shell which jekyll) $(shell find toktok -type f) changelog spec - rm -rf $@ - cd toktok && jekyll build && mv _site ../$@ - -# -# single pages, generated from external content -# -changelog: $(patsubst %,toktok/changelog/%.md,$(REPOS)) -toktok/changelog/%.md: toktok/changelog/_template.md - sed -e 's/@REPO@/$*/g' $< > $@ - curl "https://raw.githubusercontent.com/TokTok/$*/refs/heads/master/CHANGELOG.md" \ - | sed -E -e 's/\[(\w*)\]([^(])/(\1)\2/' \ - >> $@ - -spec: toktok/spec.md -toktok/spec.md: hs-toxcore $(shell find hs-toxcore -name "*.lhs" 2> /dev/null) - cp $@.dist $@ - cp -a hs-toxcore/res toktok/ - ! which pandoc || { \ - cd hs-toxcore; \ - for i in `find . -name "*.lhs"`; do \ - sed -i -e 's/\.lhs\}/.tex}/' $$i; \ - mv $$i $${i%.lhs}.tex; \ - done; \ - pandoc \ - -f latex+lhs \ - -t gfm \ - src/Network/Tox.tex \ - | sed -e '/``` haskell/,/```/d' \ - >> ../$@; \ - find . -name "*.lhs" -delete; \ - git checkout .; \ - } - grep Introduction $@ - -.PHONY: hs-toxcore -hs-toxcore: - if [ -d $@ ]; then \ - cd $@ && if [ -e .git -a "$$(git rev-parse --abbrev-ref HEAD)" != "HEAD" ]; then git pull; fi; \ - else \ - git clone --depth=1 https://github.com/TokTok/hs-toxcore $@; \ - fi - -# -# deployment tasks -# -lint: - mdl -i -w -s .md-style.rb $$(find toktok -name "*.md" \ - -and -not -wholename "toktok/spec.md" \ - -and -not -wholename "toktok/changelog/c-toxcore.md" \ - -and -not -wholename "toktok/roadmap/c-toxcore.md") - -check: - mkdir -p ~/.linkchecker/ - echo "[filtering]" > ~/.linkchecker/linkcheckerrc - echo "ignorewarnings=ignore-url,http-robots-denied,https-certificate-error" >> ~/.linkchecker/linkcheckerrc - linkchecker --ignore-url "https://toktok.ltd.*" --ignore-url "https://msgpack.org.*" --ignore-url "https://travis-ci.org.*" --ignore-url "irc://.*" --ignore-url "^javascript:" toktok-site diff --git a/README.md b/README.md index 6e3bdb97..1eecb170 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,5 @@ # website -The new website with something better than Yst (also, change the title) +The new website. -## Development - -To work on the website you need the following things: - -- Jekyll and mdl via ruby gems: `gem install jekyll mdl guard-livereload`. - You might need ruby development headers for this to work: `apt-get install ruby-dev`. - Also in case of trouble [this](https://github.com/jekyll/jekyll/issues/5165#issuecomment-236341627) may help (install `gem install bundler`). - `mdl` is optional for linting the markdown. -- pandoc, version 1.10 or higher - (optional for building the spec). - - Install it via `apt-get install pandoc`, - or `cabal install pandoc`, if you prefer the haskell way of doing it (this may take a while to install though). - See for other methods. -- linkchecker via `apt-get install linkchecker` - (optional for link checking). - -The follwing make targets are available: - -- `make all`: build the complete website including external content. -- `make changelog`: download changelogs (included in `all`) -- `make roadmap`: download roadmaps (included in `all`) -- `make spec`: download and parse the spec with pandoc (included in `all`) -- `make lint`: run markdown linter `mdl` -- `make check`: run linkchecker +Template: [proapp](https://www.free-css.com/free-css-templates/page250/proapp) diff --git a/toktok/.gitignore b/toktok/.gitignore index 08d029ac..248335d2 100644 --- a/toktok/.gitignore +++ b/toktok/.gitignore @@ -1,10 +1,8 @@ -/Gemfile.lock -/_site -/.sass-cache -/.jekyll-metadata - -# auto generated files -/changelog/c-toxcore.md -/roadmap/c-toxcore.md -/spec.md -/res +# Project dependencies +# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git +node_modules +.cache/ +# Build directory +public/ +.DS_Store +yarn-error.log diff --git a/toktok/.nvmrc b/toktok/.nvmrc new file mode 100644 index 00000000..1250fbda --- /dev/null +++ b/toktok/.nvmrc @@ -0,0 +1 @@ +v13.12.0 diff --git a/toktok/CNAME b/toktok/CNAME deleted file mode 100644 index 5f01285b..00000000 --- a/toktok/CNAME +++ /dev/null @@ -1 +0,0 @@ -toktok.ltd diff --git a/toktok/Gemfile b/toktok/Gemfile deleted file mode 100644 index 4d3459ca..00000000 --- a/toktok/Gemfile +++ /dev/null @@ -1,3 +0,0 @@ -gem 'jekyll' -gem 'guard' -gem 'guard-livereload' diff --git a/toktok/Guardfile b/toktok/Guardfile deleted file mode 100644 index 84d14b05..00000000 --- a/toktok/Guardfile +++ /dev/null @@ -1,3 +0,0 @@ -guard 'livereload' do - watch(/^_site/) -end diff --git a/toktok/_config.yml b/toktok/_config.yml deleted file mode 100644 index 97e6e704..00000000 --- a/toktok/_config.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: The TokTok Project -baseurl: "" # the subpath of your site, e.g. /blog -url: "https://toktok.ltd" # the base hostname & protocol for your site - -# Build settings -markdown: kramdown - -kramdown: - header_offset: 1 - -# Do not generate pages from templates -exclude: - - "*.dist" - -defaults: - - - scope: - path: "" - values: - layout: "default" diff --git a/toktok/_data/repos.yml b/toktok/_data/repos.yml deleted file mode 100644 index 0dcdb955..00000000 --- a/toktok/_data/repos.yml +++ /dev/null @@ -1,33 +0,0 @@ ---- -- name: apidsl -- name: c-toxcore -- name: c-toxcore-hs -- name: cedar -- name: dockerfiles -- name: echobot-jvm -- name: go-toxcore-c -- name: hs-github-tools -- name: hs-msgpack-binary -- name: hs-msgpack-rpc-conduit -- name: hs-msgpack-types -- name: hs-schema -- name: hs-tokstyle -- name: hs-tools -- name: hs-toxcore -- name: hs-toxcore-c -- name: js-toxcore-c -- name: jtox -- name: jvm-macros -- name: jvm-sbt-plugins -- name: jvm-toxcore-api -- name: jvm-toxcore-c -- name: py-toxcore-c -- name: qTox -- name: spec -- name: streambot-jvm -- name: toktok-android -- name: toktok-stack -- name: toktok.github.io -- name: toxic -- name: toxins -- name: website diff --git a/toktok/_includes/footer.html b/toktok/_includes/footer.html deleted file mode 100644 index b2b5bca3..00000000 --- a/toktok/_includes/footer.html +++ /dev/null @@ -1,22 +0,0 @@ - diff --git a/toktok/_includes/head.html b/toktok/_includes/head.html deleted file mode 100644 index e08c0b9a..00000000 --- a/toktok/_includes/head.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - {{ site.title }} - {{ page.title }} - - - - {% assign depth = page.url | append:'X' | split:'/' | size %} - {% capture relative %}{% for i in (3..depth) %}../{% endfor %}{% endcapture %} - - - - - {% for script in page.js-includes %} - - {% endfor %} - diff --git a/toktok/_includes/nav.html b/toktok/_includes/nav.html deleted file mode 100644 index 3062007d..00000000 --- a/toktok/_includes/nav.html +++ /dev/null @@ -1,22 +0,0 @@ - diff --git a/toktok/_includes/navitems.html b/toktok/_includes/navitems.html deleted file mode 100644 index 2f1cca27..00000000 --- a/toktok/_includes/navitems.html +++ /dev/null @@ -1,17 +0,0 @@ -{% assign nav_pages = site.html_pages | sort: 'menu_index' %} -{% for p in nav_pages %} - {% if p.title and p.menu_index %} - - -   - {{ p.title }} - - - {% endif %} -{% endfor %} -
  • - -   - Tox - -
  • diff --git a/toktok/_includes/repository.html b/toktok/_includes/repository.html deleted file mode 100644 index c898eb94..00000000 --- a/toktok/_includes/repository.html +++ /dev/null @@ -1,7 +0,0 @@ - - {{ include.name }} - Build Status - Coverage - Issues - PRs - diff --git a/toktok/_layouts/default.html b/toktok/_layouts/default.html deleted file mode 100644 index 90d7059c..00000000 --- a/toktok/_layouts/default.html +++ /dev/null @@ -1,25 +0,0 @@ - - - {% include head.html %} - - {% include nav.html %} -
    -
    - {{ content }} -
    -
    - {% if page.js-includes %} - - - {% endif %} - {% comment %} - Enable this when developing the site on localhost and you want to enable - live reloading while editing. See this answer on stack overflow for details: - https://stackoverflow.com/questions/8395526/using-live-reload-with-jekyll - {% endcomment %} - {% comment %} - - {% endcomment %} - - {% include footer.html %} - diff --git a/toktok/cla.md b/toktok/cla.md deleted file mode 100644 index b3ac2a21..00000000 --- a/toktok/cla.md +++ /dev/null @@ -1,181 +0,0 @@ ---- -title: CLA -permalink: cla.html ---- - -Thank you for your interest in contributing to the TokTok project ("We" or -"Us"). - -This contributor agreement ("Agreement") documents the rights granted by -contributors to Us. To make this document effective, please sign it -electronically the first time you submit a contribution. This is a legally -binding document, so please read it carefully before agreeing to it. - -# Definitions - -"You" means the individual who Submits a Contribution to Us. - -"Contribution" means any work of authorship that is Submitted by You to Us in -which You own or assert ownership of the Copyright. If You do not own the -Copyright in the entire work of authorship, please contact Us. - -"Copyright" means all rights protecting works of authorship owned or controlled -by You, including copyright, moral and neighboring rights, as appropriate, for -the full term of their existence including any extensions by You. - -"Material" means the work of authorship which is made available by Us to third -parties. When this Agreement covers more than one software project, the -Material means the work of authorship to which the Contribution was Submitted. -After You Submit the Contribution, it may be included in the Material. - -"Submit" means any form of electronic, verbal, or written communication sent to -Us or our representatives, including but not limited to electronic mailing -lists, source code control systems, and issue tracking systems that are managed -by, or on behalf of, Us for the purpose of discussing and improving the -Material, but excluding communication that is conspicuously marked or otherwise -designated in writing by You as "Not a Contribution." - -"Submission Date" means the date on which You Submit a Contribution to Us. - -"Effective Date" means the date You execute this Agreement or the date You -first Submit a Contribution to Us, whichever is earlier. - -# Grant of Rights - -## Copyright License - -(a) You retain ownership of the Copyright in Your Contribution and have the -same rights to use or license the Contribution which You would have had without -entering into the Agreement. - -(b) To the maximum extent permitted by the relevant law, You grant to Us a -perpetual, worldwide, non-exclusive, transferable, royalty-free, irrevocable -license under the Copyright covering the Contribution, with the right to -sublicense such rights through multiple tiers of sublicensees, to reproduce, -modify, display, perform and distribute the Contribution as part of the -Material; provided that this license is conditioned upon compliance with -Section 2.3. - -## Patent License - -For patent claims including, without limitation, method, process, and apparatus -claims which You own, control or have the right to grant, now or in the future, -You grant to Us a perpetual, worldwide, non-exclusive, transferable, -royalty-free, irrevocable patent license, with the right to sublicense these -rights to multiple tiers of sublicensees, to make, have made, use, sell, offer -for sale, import and otherwise transfer the Contribution and the Contribution -in combination with the Material (and portions of such combination). This -license is granted only to the extent that the exercise of the licensed rights -infringes such patent claims; and provided that this license is conditioned -upon compliance with Section 2.3. - -## Outbound License - -As a condition on the grant of rights in Sections 2.1 and 2.2, We agree to -license the Contribution only under the terms of the license or licenses which -We are using on the Submission Date for the Material or any licenses which are -approved by the Free Software Foundation on or after the Effective Date, -including both permissive and copyleft licenses, whether or not such licenses -are subsequently disapproved (including any right to adopt any future version -of a license if permitted). - -## Moral Rights - -If moral rights apply to the Contribution, to the maximum extent permitted by -law, You waive and agree not to assert such moral rights against Us or our -successors in interest, or any of our licensees, either direct or indirect. - -## Our Rights - -You acknowledge that We are not obligated to use Your Contribution as part of -the Material and may decide to include any Contribution We consider -appropriate. - -## Reservation of Rights - -Any rights not expressly licensed under this section are expressly reserved by -You. - -# Agreement - -You confirm that: - -(a) You have the legal authority to enter into this Agreement. - -(b) You own the Copyright and patent claims covering the Contribution which are -required to grant the rights under Section 2. - -(c) The grant of rights under Section 2 does not violate any grant of rights -which You have made to third parties, including Your employer. If You are an -employee, You have had Your employer approve this Agreement or sign the Entity -version of this document. If You are less than eighteen years old, please have -Your parents or guardian sign the Agreement. - -(d) You have followed the instructions We gave You, if You do not own the -Copyright in the entire work of authorship Submitted. - -# Disclaimer - -EXCEPT FOR THE EXPRESS WARRANTIES IN SECTION 3, THE CONTRIBUTION IS PROVIDED -"AS IS". MORE PARTICULARLY, ALL EXPRESS OR IMPLIED WARRANTIES INCLUDING, -WITHOUT LIMITATION, ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE EXPRESSLY DISCLAIMED BY YOU TO US. -TO THE EXTENT THAT ANY SUCH WARRANTIES CANNOT BE DISCLAIMED, SUCH WARRANTY IS -LIMITED IN DURATION TO THE MINIMUM PERIOD PERMITTED BY LAW. - -# Consequential Damage Waiver - -TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL YOU BE -LIABLE FOR ANY LOSS OF PROFITS, LOSS OF ANTICIPATED SAVINGS, LOSS OF DATA, -INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL AND EXEMPLARY DAMAGES ARISING OUT -OF THIS AGREEMENT REGARDLESS OF THE LEGAL OR EQUITABLE THEORY (CONTRACT, TORT -OR OTHERWISE) UPON WHICH THE CLAIM IS BASED. - -# Miscellaneous - -## Legislation - -This Agreement will be governed by and construed in accordance with the laws of -the United Kingdom excluding its conflicts of law provisions. Under certain -circumstances, the governing law in this section might be superseded by the -United Nations Convention on Contracts for the International Sale of Goods ("UN -Convention") and the parties intend to avoid the application of the UN -Convention to this Agreement and, thus, exclude the application of the UN -Convention in its entirety to this Agreement. - -## Other agreements - -This Agreement sets out the entire agreement between You and Us for Your -Contributions to Us and overrides all other agreements or understandings. - -## Third parties - -If You or We assign the rights or obligations received through this Agreement -to a third party, as a condition of the assignment, that third party must agree -in writing to abide by all the rights and obligations in the Agreement. - -## Failure of performance - -The failure of either party to require performance by the other party of any -provision of this Agreement in one situation shall not affect the right of a -party to require such performance at any time in the future. A waiver of -performance under a provision in one situation shall not be considered a waiver -of the performance of the provision in the future or a waiver of the provision -in its entirety. - -## Enforcability - -If any provision of this Agreement is found void and unenforceable, such -provision will be replaced to the extent possible with a provision that comes -closest to the meaning of the original provision and which is enforceable. The -terms and conditions set forth in this Agreement shall apply notwithstanding -any failure of essential purpose of this Agreement or any limited remedy to the -maximum extent possible under law. - -## Changes to the Agreement - -The effective Agreement between You and Us is the most recent one up to the -Effective Date. Any later changes to the Agreement do not retroactively affect -past signatures. Signing a later revision of this Agreement at a later point -in time will void the previously signed Agreement and will retroactively -affect all past Contributions. diff --git a/toktok/content/blog/2015-07-11_current-situation-3.md b/toktok/content/blog/2015-07-11_current-situation-3.md new file mode 100644 index 00000000..ce4d0435 --- /dev/null +++ b/toktok/content/blog/2015-07-11_current-situation-3.md @@ -0,0 +1,77 @@ +--- +title: Current Situation +date: 2015-07-11 00:55 +author: Project Tox +category: Uncategorized +status: published +description: "The Tox Foundation is dissolving." +--- + +As many of you in the Tox community have likely already heard, a serious +situation was brought to our attention which has forced the +Tox development team to disassociate itself from the Tox Foundation, +along with its sole board member, Sean Qureshi (aka Stqism, aka +AlexStraunoff, aka NikolaiToryzin). We learned by Sean’s own +admission that he "took a loan against the Tox Foundation", and used the +entirety of the foundation’s funds on personal expenses completely +unrelated to the project. He did not inform anyone about his actions +prior to taking them, then proceeded to disappear for weeks once we +found out, ignoring our attempts to contact him and get an explanation. + +The exact amount that he took is unknown due to his having complete +control over our finances, but it is in the low-thousands. This fund +regrettably included a small amount of donation money, but was primarily +made up of money that we received by participating in Google Summer of +Code last summer. + +First, we want to sincerely apologize to the community and take +responsibility. We could not have predicted that something like this +would happen, but we certainly could have handled our finances in a more +responsible and transparent manner. While our development team consists +of many skilled programmers and designers, none of us are experienced in +business or financial matters. This led us to put too much trust and +power into the hands of a single person, who turned out to be just the +sort of person who would take advantage of such a situation. We can +blame no one but ourselves for this. + +Unfortunately, Sean refuses to take responsibility for what he has done, +and seems to carry the attitude that what he did was perfectly +acceptable. Despite our having spent a great deal of time and effort +trying to engage with him, giving him opportunities to pay us back and +redeem himself (which is part of the reason why we have waited this long +to make an official post about it), he has shown no remorse for his +actions, and continues to hold some of our infrastructure "hostage". +This includes the tox.im, toxme.se, and libtoxcore.so domains. For this +reason, we have have also been forced to disassociate ourselves with the +aforementioned domains and begin again from scratch with a new domain, +tox.chat. + +In spite of the damage that has been done—which we do not wish to +understate—we'd like to look on the bright side of things and consider +this a very expensive lesson learned in project management, and life in +general. We've lost some money, but we've gained a ton of insight. We +have also been lucky enough to have a few long-standing members of the +community step up and help us out with things like server management, +and we should have everything back to normal in a short while, with a +stronger and better equipped team than before. + +As far as finances go, we are not going to repeat the same mistakes +twice. We will not be taking any official donations\* until we have set +up a proper organization with an emphasis on transparency and protection +of assets (more details on this at a future date). + +In the mean time, we hope that you will continue to support us, if not +financially, then in spirit. Despite all of this drama, we have not lost +sight of our vision to provide secure, private communications for +everyone. Tox development hasn't had so much as a hiccup in the midst of +all this; our second run at Google Summer of Code is going better than +our first, and the number of enthusiastic developers who share our +vision continues to grow. + +Thank you for your understanding and continued support. + +\* If you still want to give personal donations to individual +developers, most of us have bitcoin wallets or paypal accounts and can +be reached in IRC ([\#tox](https://webchat.freenode.net/?channels=#tox) +and [\#tox-dev](https://webchat.freenode.net/?channels=#tox-dev) @ +freenode) diff --git a/toktok/content/blog/2015-08-08_tox-dev-talks-1.md b/toktok/content/blog/2015-08-08_tox-dev-talks-1.md new file mode 100644 index 00000000..1dc6e6e5 --- /dev/null +++ b/toktok/content/blog/2015-08-08_tox-dev-talks-1.md @@ -0,0 +1,54 @@ +--- +title: Tox Dev Talks - #1 +date: 2015-08-08 23:29 +author: areashr +category: Tox Dev Talks +status: published +--- + +*(If you don't already know, Tox Dev Talks is a series of weekly +meetings that bring the Tox developer community together to share ideas, +progress, and miscellaneous chatter. They take place every Saturday at +03:00 UTC.)* + +This week's Tox Dev Talk turned out exceptionally well, especially as it +was the first one. The primary focus was on mobile issues; here is a +summary of what was discussed. + +- How do we deal with doze mode in Android M? + - Do we use GCM? +- Is a "passive mode" for toxcore so we can reduce battery and data + usage possible? +- How do we deal with backgrounding restrictions on iOS? + - Possible solution: use VoIP sockets. +- No concrete decisions as of now. + + + +- qTox: as tux3 has been absent for a while, the main repo might be + moved to DaSpirit's fork. + +**Progress updates and to-do:** + +- **installgen2 (Web)** + - ToxKek - Fix connection and crash bugs, add mobile frontend + design, add avatars, add file transfers, add ToxDNS support, add + groupchat support, add memes, and add remote server support. + *(ToxKek is an early-stage HTML/JS Tox client.)* + - Tox.Party - Add Tox3 support and get https certificate. + - Tox Wiki - Add missing pages and clean up mess +- **chuongv (iOS)** + - Antidote: Implement video calls for this week. +- **subliun (Android)** + - Antox: working on encrypted profile support, fixing some bugs, + and getting ready for av support. + - New ToxDNS host is toxme.io +- **Impyy (C\#/Windows)** + - SharpTox - finish new groupchat bindings, write documentation + for both new av api and new groupchat api. +- **oranges (Build infrastructure)** + - Jenkins is up and building libraries, some clients are building. + - Waiting on client devs for some of the other clients. + +We hope to see more of the same kind of constructive discussion, and +more developers in attendance next week! diff --git a/toktok/content/blog/2015-08-09_regarding-irungentoos-indiegogo-campaign.md b/toktok/content/blog/2015-08-09_regarding-irungentoos-indiegogo-campaign.md new file mode 100644 index 00000000..690da767 --- /dev/null +++ b/toktok/content/blog/2015-08-09_regarding-irungentoos-indiegogo-campaign.md @@ -0,0 +1,34 @@ +--- +title: Regarding irungentoo's Indiegogo Campaign +date: 2015-08-09 22:00 +author: nurupo +category: Uncategorized +status: published +--- + +[irungentoo](https://github.com/irungentoo) (our main toxcore developer) +has started [a personal fundraising +campaign](https://www.indiegogo.com/projects/toxcore-development) that +would allow him to dedicate a month of full time work to Tox +development. Although this has already been posted +on [Twitter](https://twitter.com/projecttox), +[reddit](https://reddit.com/r/projecttox) and +[IRC](https://wiki.tox.chat/users/community#irc), we have decided to +give it a mention here as well, both in order to support our fellow +developer, and to clear up some misunderstandings. + +Quite a few people have asked if this is an official Tox fundraising +campaign. It is not. This is something that irungentoo is doing on his +own, separate from the project; all raised funds will go directly to him +to be used however he sees best fit. We mentioned in our [previous blog +post](/2015-07-11_current-situation-3/) that we +wouldn't be taking any donations as a project until we have set up a +proper organization with an emphasis on transparency and protection of +assets. This is still the case, however we also mentioned that +individual developers are free to take personal donations, which is what +this is. + +We apologize if this has caused any confusion, and hope that this has +sufficiently cleared up any misunderstandings. + + diff --git a/toktok/content/blog/2015-08-22_tox-dev-talks-2.md b/toktok/content/blog/2015-08-22_tox-dev-talks-2.md new file mode 100644 index 00000000..9d6e54e3 --- /dev/null +++ b/toktok/content/blog/2015-08-22_tox-dev-talks-2.md @@ -0,0 +1,72 @@ +--- +title: Tox Dev Talks – #2 +date: 2015-08-22 12:32 +author: areashr +category: Tox Dev Talks +status: published +--- + +*(Tox Dev Talks is a series of weekly meetings that bring the Tox +developer community together to share ideas, progress, +and miscellaneous chatter. They take place Saturdays at 16:00 UTC.)* + +Tox Dev Talks are back after a week-long hiatus due to scheduling +difficulties. As we had irungentoo on hand, we spent a lot of time on +core issues. Here's a bit of what was discussed. + +- **Tox core** + - **Offline messaging** + - The student who was implementing it disappeared. irungentoo + will be taking over if he has time. + - **Friendly names / DNS replacement?** + - No real solution was brought up that would be better than + what we have now. That said, DNS will remain optional for + clients and not a Tox core feature. + - **irungentoo's to-do list** + - Improve file transfers. + - Write proper documentation for the code. + - In general, fix bugs and/or finish some features that aren’t + done. + - **New groupchats** + - Currently stalled due to requiring some significant core + changes. + - **A/V revamp** + - Currently waiting on client support and some important bug + fixes. + + + +- **Packaging** + - qTox binaries are finally available again (Windows and Linux + static) + - An APT repository will be coming soon. + + + +- **Client news** + - µTox + - New A/V is complete and waiting on aforementioned bug fixes. + - grayhatter is currently working to improve the UI. + - qTox + - New A/V is almost done, audio works, webcam works, streaming + desktop doesn’t work and the button functionality still + needs to be implemented. + - tux3 is no longer dead, and has given access to the main + repository to DaSpirit and others while he catches up on + things. + - Antox + - There is currently a naming dispute with the original + author. + - The current developer, subliun, will continue using the + Antox name. + + + +- **Other things worth mentioning** + - As some people aren't happy with the design of tox.chat, + installgen2 is going to redesign the site. He will show what he + came up with at the next meeting. + +If you want to participate in the next Tox Dev Talk, feel free to drop +in next week. We hope to keep a stable schedule, but if that doesn't +happen, we will let you know on [the calendar](/events). diff --git a/toktok/content/blog/2015-08-29_tox-dev-talks-3.md b/toktok/content/blog/2015-08-29_tox-dev-talks-3.md new file mode 100644 index 00000000..c57f64ef --- /dev/null +++ b/toktok/content/blog/2015-08-29_tox-dev-talks-3.md @@ -0,0 +1,56 @@ +--- +title: Tox Dev Talks – #3 +date: 2015-08-29 13:47 +author: installgen2 +category: Tox Dev Talks +status: published +--- + +*(Tox Dev Talks is a series of weekly meetings that bring the Tox +developer community together to share ideas, progress, +and miscellaneous chatter. They take place Saturdays at 16:00 UTC.)* + +In this week's meeting, as usual, we discussed a variety of topics, +which have been summarized below. + +*(Edited 2015/08/30: a few factual corrections were made. Apologies for +letting them slip past editing -ak)* + +- **Binaries** + - **Package signing** + - Jenkins will handle it + - Possibility of making Jenkins push notify on changes +- **Policy** + - **\#tox-dev** + - We discussed how much off-topic discussion and other noise + we are willing to allow on \#tox-dev + - Possibly enabling colors for improved build info + - nurupo expressed concern of color misuse + - **Social media** + - We reminded the managers of each Tox-related account of + their responsibilities + - **Blog** + - Social media will now link to EVERY blog post + - GSoC mentors should come up with a GSoC blog post +- **Our website** + - installgen2 is working on redesigning tox.chat from scratch, + this will take 3-7 days to complete +- **ToxAV** + - Mannol has said there will be more commits this (2015-08-29) + weekend +- **New groupchats** + - JFreegman is still waiting on irungentoo to implement the + difficult codebase changes +- **Core and client updates** + - **qTox** + - Zetok will be tagging qTox issues + - **uTox** + - in-progress UI redesign + - New groupchats once ToxAV gets merged, and the refactor in + that branch gets merged +- **Other developments** + - nurupo is working on fixing bugs and refactoring code in code + base of GSoC project he mentored + - codedust is developing – a + web based tox client + diff --git a/toktok/content/blog/2015-09-01_sound-design.md b/toktok/content/blog/2015-09-01_sound-design.md new file mode 100644 index 00000000..7d31804d --- /dev/null +++ b/toktok/content/blog/2015-09-01_sound-design.md @@ -0,0 +1,18 @@ +--- +title: Sound design! +date: 2015-09-01 15:48 +author: installgen2 +category: Uncategorized +status: published +--- + +As I'm sure you are all aware, Tox has grown tremendously in terms of UI +and usability, yet client sounds are still somewhat lacking. + +We are looking for people to help out with creating sounds for clients +(ringtones, notification sounds, etc). No programming knowledge is +required. Just join us in \#tox-dev on Freenode (here is +[webchat](https://webchat.freenode.net/?channels=#tox-dev) for those of +you without an IRC client). + +Thanks! diff --git a/toktok/content/blog/2015-09-05_successful-indiegogo/index.md b/toktok/content/blog/2015-09-05_successful-indiegogo/index.md new file mode 100644 index 00000000..e993388b --- /dev/null +++ b/toktok/content/blog/2015-09-05_successful-indiegogo/index.md @@ -0,0 +1,51 @@ +--- +title: Successful Indiegogo Campaign! +date: 2015-09-05 21:31 +author: Project Tox +category: Uncategorized +status: published +--- + +We are happy to announce that irungentoo's personal Indiegogo campaign +has been successfully funded! + +![Sketch of irungentoo receiving Indiegogo campaign money](irungentoo-indiegogo.png) + +As you may already know, irungentoo has been running a [personal +fundraiser](/2015-08-09_regarding-irungentoos-indiegogo-campaign/), +to allow himself to dedicate a month of full time work to Tox +development. This fundraiser reached +its \$5,000 USD goal with 6 hours left on the clock. At the time of +writing, a total of **\$5,785** has been +raised by **217** funders. + +The Tox Project would like to give a big "Thank You!" to all that +donated, as well as to all of Tox's supporters for making this happen, +and helping to raise even more money than irungentoo's original goal. + +irungentoo would like to say to everyone: + +> Thank you, everyone, for making this fundraiser a success. If you +> bought a perk please send me the related stuff, it will be put into +> the repository when I collect most of them. If you donated bitcoin in +> an amount equal or greater to the value of one of the perks and want +> to receive that perk, just email me at **irungentoo@gmail.com** with +> proof (e.g. a message signed with your bitcoin address key). +> +> Unless something happens (computer stops working, etc.), I will be +> starting my full time work on toxcore on September 8. I will start by +> writing toxcore documentation, which will take a long time but is +> important and might invite more people to contribute to toxcore and +> make sure that Tox does not die if I get hit by a bus. Thank you for +> making sure that Tox will become even stronger. +> +> Sincerely, +> irungentoo + +We'll be sitting down with irungentoo very soon to develop a roadmap for +the toxcore library. Once it has been developed, we'll publish it, and +you'll be able to track development progress as it happens. + +Thanks again, + +The Tox Project diff --git a/toktok/content/blog/2015-09-05_successful-indiegogo/irungentoo-indiegogo.png b/toktok/content/blog/2015-09-05_successful-indiegogo/irungentoo-indiegogo.png new file mode 100644 index 0000000000000000000000000000000000000000..61daa31513fa097e36d1ec3de41dcdba0994a98d GIT binary patch literal 89784 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