Browse Source

Release v2.0

pull/21/head v2.0
Intevel ツ 1 year ago
parent
commit
d8081425fc
  1. 13
      .editorconfig
  2. 2
      .gitattributes
  3. 26
      .github/workflows/build.yml
  4. 64
      .gitignore
  5. 5
      .prettierrc
  6. 21
      LICENSE
  7. 80
      README.md
  8. 7
      assets/css/bootstrap.min.css
  9. 9584
      assets/css/style.css
  10. BIN
      assets/images/techstack.png
  11. 63
      components/about.vue
  12. 18
      components/announcement.vue
  13. 46
      components/concept.vue
  14. 21
      components/contribute.vue
  15. 11
      components/fossfooter.vue
  16. 14
      components/hero.vue
  17. 21
      components/navbar.vue
  18. 38
      components/randomfacts.vue
  19. 53
      index.js
  20. 44
      nuxt.config.js
  21. 15406
      package-lock.json
  22. 60
      package.json
  23. 10
      pages/about.vue
  24. 16
      pages/index.vue
  25. 1890
      pnpm-lock.yaml
  26. BIN
      public/assets/conference.png
  27. BIN
      public/assets/logo.png
  28. BIN
      public/assets/social.png
  29. 11
      public/script.js
  30. 140
      public/style.css
  31. BIN
      static/favicon.ico
  32. BIN
      static/logo.png
  33. 24
      views/home.pug
  34. 41
      views/layout.pug

13
.editorconfig

@ -0,0 +1,13 @@
# editorconfig.org
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
trim_trailing_whitespace = false

2
.gitattributes

@ -1,2 +0,0 @@
# Auto detect text files and perform LF normalization
* text=auto

26
.github/workflows/build.yml

@ -1,26 +0,0 @@
name: Github Pages Publish
on:
push:
branches:
- master
workflow_dispatch:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: "14"
- run: npm i
- run: npm run build
- run: echo fosscord.com >> dist/CNAME
- name: Deploy 🚀
uses: JamesIves/github-pages-deploy-action@4.1.3
with:
branch: gh-pages # The branch the action should deploy to.
folder: dist # The folder the action should deploy.

64
.gitignore

@ -1,13 +1,11 @@
# Created by .ignore support plugin (hsz.mobi)
### Node template
# Logs
logs
/logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
@ -20,12 +18,11 @@ lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
@ -41,11 +38,8 @@ build/Release
node_modules/
jspm_packages/
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
# TypeScript cache
*.tsbuildinfo
# TypeScript v1 declaration files
typings/
# Optional npm cache directory
.npm
@ -53,12 +47,6 @@ web_modules/
# Optional eslint cache
.eslintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
@ -70,47 +58,33 @@ web_modules/
# dotenv environment variables file
.env
.env.test
# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache
# Next.js build output
# next.js build output
.next
out
# Nuxt.js build / generate output
# nuxt.js build output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# Nuxt generate
dist
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
.serverless
# DynamoDB Local files
.dynamodb/
# IDE / Editor
.idea
# TernJS port file
.tern-port
# Service worker
sw.*
# Stores VSCode versions used for testing VSCode extensions
.vscode-test
# macOS
.DS_Store
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
# Vim swap files
*.swp

5
.prettierrc

@ -1,5 +0,0 @@
{
"tabWidth": 4,
"useTabs": true,
"printWidth": 120
}

21
LICENSE

@ -1,21 +0,0 @@
MIT License
Copyright (c) 2021 Intevel ツ
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

80
README.md

@ -1,25 +1,69 @@
[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/fosscord/fosscord-landingpage)
[![Github Pages Publish](https://github.com/fosscord/fosscord-landingpage/actions/workflows/build.yml/badge.svg)](https://github.com/fosscord/fosscord-landingpage/actions/workflows/build.yml)
# [Fosscord landing page](https://fosscord.com)
The official website of Fosscord.
# fosscord-landingpage
## Setup
First, clone the repository:
## Build Setup
`git clone git@github.com:fosscord/fosscord-landingpage.git`
```bash
# install dependencies
$ npm install
### Install
For testing:
`npm install`
# serve with hot reload at localhost:3000
$ npm run dev
For production:
`npm install --prod`
# build for production and launch server
$ npm run build
$ npm run start
### CLI usage
To bundle the website:
`npm run build`
# generate static project
$ npm run generate
```
To bundle the website in real-time:
`npm run watch`
For detailed explanation on how things work, check out the [documentation](https://nuxtjs.org).
These commands will build the website in the `dist` folder.
## Special Directories
You can create the following extra directories, some of which have special behaviors. Only `pages` is required; you can delete them if you don't want to use their functionality.
### `assets`
The assets directory contains your uncompiled assets such as Stylus or Sass files, images, or fonts.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/directory-structure/assets).
### `components`
The components directory contains your Vue.js components. Components make up the different parts of your page and can be reused and imported into your pages, layouts and even other components.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/directory-structure/components).
### `layouts`
Layouts are a great help when you want to change the look and feel of your Nuxt app, whether you want to include a sidebar or have distinct layouts for mobile and desktop.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/directory-structure/layouts).
### `pages`
This directory contains your application views and routes. Nuxt will read all the `*.vue` files inside this directory and setup Vue Router automatically.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/get-started/routing).
### `plugins`
The plugins directory contains JavaScript plugins that you want to run before instantiating the root Vue.js Application. This is the place to add Vue plugins and to inject functions or constants. Every time you need to use `Vue.use()`, you should create a file in `plugins/` and add its path to plugins in `nuxt.config.js`.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/directory-structure/plugins).
### `static`
This directory contains your static files. Each file inside this directory is mapped to `/`.
Example: `/static/robots.txt` is mapped as `/robots.txt`.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/directory-structure/static).
### `store`
This directory contains your Vuex store files. Creating a file in this directory automatically activates Vuex.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/directory-structure/store).

7
assets/css/bootstrap.min.css
File diff suppressed because it is too large
View File

9584
assets/css/style.css
File diff suppressed because it is too large
View File

BIN
assets/images/techstack.png

After

Width: 4515  |  Height: 2886  |  Size: 342 KiB

63
components/about.vue

@ -0,0 +1,63 @@
<template>
<section class="pt-105 pb-85 bg-light content_3">
<div class="container px-xl-0">
<div class="row">
<div class="col-lg-6 col-md-7">
<h2 class="small">Fosscord follows a concept and a certain philosophy</h2>
<div class="mt-25 mb-35 f-22 color-heading text-adaptive description">Fosscord aims to be a full
one-on-one clone
of Discord, adding more features that can be used as a replacement for the official client
and still connect
to discord.com and host private Fosscord server instances.
</div>
</div>
<div class="col-lg-6 col-md-10">
<img src="https://docs.fosscord.com/img/architecture.png" class="img-fluid rounded-3">
</div>
</div>
<div class="row mt-10">
<div class="col-lg-12 col-md-12">
<h2 class="small">Philosophy</h2>
<div class="mt-1 mb-35 f-22 color-heading text-adaptive description">Fosscord aims to be a full one-on-one
clone of Discord, adding more features that can be used as a replacement for the official client and still
connect to discord.com and host private Fosscord server instances.
Fosscord aims to give the best possible user experience, while being backwards compatible to Discord's
features and adding new ones/improving old ones while maintaining the user privacy with end-to-end
encryption support.
The client can connect to multiple server instances without the need to open it multiple times.
The client should be extensible through a secure Plugin and Theme System with own store.
The server should be extensible through bots, just like discord without the need to change anything except
the api endpoint.
The project is open source so everyone can have a look what's going on under the hood and can be maintained
and expanded by the community.
Everything is configurable in the server config and everyone can add their own features, so that it is not
opinionated.
</div>
</div>
</div>
<div class="row mt-10">
<div class="col-lg-12 col-md-12">
<h2 class="small">Why backwards compatible to Discord?</h2>
<div class="mt-1 mb-35 f-22 color-heading text-adaptive description">Benefit from the large user base of
discord -> more users, making the switch easier for new users & keeping workflows intact
<br> No disadvantage for the users who use fosscord, so that they can still communicate with all their peers who
use discord
<br> Discord has already built a great and stable protocol (don't reinvent the wheel)
<br>The community can extend and customize their clients and servers by selfhosting them and developing and
installing addons
</div>
</div>
</div>
</div>
</section>
</template>

18
components/announcement.vue

@ -0,0 +1,18 @@
<template>
<section class="pt-95 pb-85 bg-dark color-white content_16">
<div class="container px-xl-0">
<div class="row justify-content-between">
<div class="col-xl-12 col-lg-8 col-md-9 mt-4 mt-md-0 text-center">
<h2 class="pl-15 small">Thanks for 650+ Github Stars!</h2>
<div class="mt-15 pl-15 f-18 medium op-7 text-adaptive">
<div>
Fosscord has reached a total of more than 650 stars on github in such a short time, we
want to thank you for
that. Thank you for your support and also thank you to all the contributors.
</div>
</div>
</div>
</div>
</div>
</section>
</template>

46
components/concept.vue

@ -0,0 +1,46 @@
<template>
<section class="pt-105 pb-85 bg-light content_3">
<div class="container px-xl-0">
<div class="row">
<div class="col-lg-6 col-md-7">
<h2 class="small">Fosscord follows a concept and a certain phylosophy</h2>
<div class="mt-25 mb-35 f-22 color-heading text-adaptive description">Fosscord aims to be a full
one-on-one clone
of Discord, adding more features that can be used as a replacement for the official client
and still connect
to discord.com and host private Fosscord server instances.
</div>
<div class="mb-30 mb-md-0 d-sm-flex align-items-center buttons">
<a href="https://docs.fosscord.com/" class="btn bg-fosscord mb-20 mb-sm-0 mr-15 action-1">Documentation</a>
<div class="d-flex links">
<a href="https://github.com/fosscord/" class="link color-dark f-32 mx-20">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor"
class="bi bi-github" viewBox="0 0 16 16">
<path
d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z" />
</svg>
</a>
<a href="https://instagram.com/fosscord/" class="link color-dark f-32 mx-20">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor"
class="bi bi-instagram" viewBox="0 0 16 16">
<path
d="M8 0C5.829 0 5.556.01 4.703.048 3.85.088 3.269.222 2.76.42a3.917 3.917 0 0 0-1.417.923A3.927 3.927 0 0 0 .42 2.76C.222 3.268.087 3.85.048 4.7.01 5.555 0 5.827 0 8.001c0 2.172.01 2.444.048 3.297.04.852.174 1.433.372 1.942.205.526.478.972.923 1.417.444.445.89.719 1.416.923.51.198 1.09.333 1.942.372C5.555 15.99 5.827 16 8 16s2.444-.01 3.298-.048c.851-.04 1.434-.174 1.943-.372a3.916 3.916 0 0 0 1.416-.923c.445-.445.718-.891.923-1.417.197-.509.332-1.09.372-1.942C15.99 10.445 16 10.173 16 8s-.01-2.445-.048-3.299c-.04-.851-.175-1.433-.372-1.941a3.926 3.926 0 0 0-.923-1.417A3.911 3.911 0 0 0 13.24.42c-.51-.198-1.092-.333-1.943-.372C10.443.01 10.172 0 7.998 0h.003zm-.717 1.442h.718c2.136 0 2.389.007 3.232.046.78.035 1.204.166 1.486.275.373.145.64.319.92.599.28.28.453.546.598.92.11.281.24.705.275 1.485.039.843.047 1.096.047 3.231s-.008 2.389-.047 3.232c-.035.78-.166 1.203-.275 1.485a2.47 2.47 0 0 1-.599.919c-.28.28-.546.453-.92.598-.28.11-.704.24-1.485.276-.843.038-1.096.047-3.232.047s-2.39-.009-3.233-.047c-.78-.036-1.203-.166-1.485-.276a2.478 2.478 0 0 1-.92-.598 2.48 2.48 0 0 1-.6-.92c-.109-.281-.24-.705-.275-1.485-.038-.843-.046-1.096-.046-3.233 0-2.136.008-2.388.046-3.231.036-.78.166-1.204.276-1.486.145-.373.319-.64.599-.92.28-.28.546-.453.92-.598.282-.11.705-.24 1.485-.276.738-.034 1.024-.044 2.515-.045v.002zm4.988 1.328a.96.96 0 1 0 0 1.92.96.96 0 0 0 0-1.92zm-4.27 1.122a4.109 4.109 0 1 0 0 8.217 4.109 4.109 0 0 0 0-8.217zm0 1.441a2.667 2.667 0 1 1 0 5.334 2.667 2.667 0 0 1 0-5.334z" />
</svg>
</a>
<a href="https://twitter.com/fosscord/" class="link color-dark f-32 mx-20">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor"
class="bi bi-twitter" viewBox="0 0 16 16">
<path
d="M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15z" />
</svg>
</a>
</div>
</div>
</div>
<div class="col-lg-6 col-md-10">
<img src="https://docs.fosscord.com/img/architecture.png" class="img-fluid rounded-3">
</div>
</div>
</div>
</section>
</template>

21
components/contribute.vue

@ -0,0 +1,21 @@
<template>
<section class="pt-105 pb-85 bg-light content_3" id="contribute">
<div class="container px-xl-0">
<div class="row">
<div class="col-lg-6 col-md-10">
<img src="https://github.com/fosscord/fosscord/blob/master/images/techstack.png?raw=true" class="img-fluid rounded-3">
</div>
<div class="col-lg-6 col-md-7">
<h2 class="small">Contribute now!</h2>
<div class="mt-25 mb-35 f-22 color-heading text-adaptive description">Currently fosscord is
still in development
and we can't say when we will be able to release fosscord completely, in total 20 developers
are working on
this project. Feel free to check out the Documentation or Github.
</div>
<a href="https://docs.fosscord.com/contributing.html" class="btn bg-fosscord mb-20 mb-sm-0 mr-15 action-1">Contribute</a>
</div>
</div>
</div>
</section>
</template>

11
components/fossfooter.vue

@ -0,0 +1,11 @@
<template>
<footer class="pt-80 pb-50 bg-dark color-white text-center footer_12">
<div class="container px-xl-0">
<div class="lh-20 f-18 medium">
<a href="https://discord.gg/Ms5Ev7S6bF" class="link color-white mx-20">Discord Support Server</a>
</div>
<p class=" color-white mx-20">Fosscord is not sponsored, endorsed or administered by, or associated with Discord.</p>
<div class="mt-20 text-adaptive">© 2021 fosscord.com </div>
</div>
</footer>
</template>

14
components/hero.vue

@ -0,0 +1,14 @@
<template>
<section class="pt-30 pb-70 bg-light application_21">
<div class="container px-xl-0">
<div class="mb-md-5 row justify-content-center align-items-center">
<div class="col-md-12 col-xl-8 text-center">
<div class="pb-15 color-heading f-22 medium">
<div><span class="badge bg-fosscord text-white">fosscord.com</span></div>
</div>
<h2 class="text-adaptive">A new way to communicate across different platforms</h2>
</div>
</div>
</div>
</section>
</template>

21
components/navbar.vue

@ -0,0 +1,21 @@
<template>
<nav class="pt-30 pb-30 bg-light lh-40 text-center navigation_8">
<div class="container px-xl-0">
<div class="row align-items-center">
<div class="col-lg-3 text-lg-left">
<NuxtLink to="/" class="link logo color-main">fosscord.com</NuxtLink>
</div>
<div class="col-lg-6">
<NuxtLink to="/about/" class="link mr-15 color-main">About Fosscord</NuxtLink>
<a href="https://docs.fosscord.com/" class="link mx-15 color-main">Documentation</a>
<a href="https://github.com/fosscord/fosscord" class="link mx-15 color-main">Download</a>
</div>
<div class="mt-10 mt-lg-0 col-lg-3 text-lg-right">
<a href="https://github.com/fosscord/" class="link mr-30 color-main">Github</a>
<a href="https://dev.fosscord.com/" class="btn sm border-gray color-main f-16">Open Web-Client</a>
</div>
</div>
</div>
</nav>
</template>

38
components/randomfacts.vue

@ -0,0 +1,38 @@
<template>
<section class="pt-95 pb-85 bg-dark color-white content_16">
<div class="container px-xl-0">
<div class="row justify-content-between">
<div class="col-xl-12 col-lg-8 col-md-9 mt-4 mt-md-0 text-center">
<h2 class="pl-15 small">Random Facts</h2>
<div class="mt-1 pl-15 f-18 medium op-7 text-adaptive">
<div>
{{ randomlyFact }}
</div>
</div>
</div>
</div>
</div>
</section>
</template>
<script lang="js">
const {
Vue,
Component,
Prop
} = require("nuxt-property-decorator");
export default {
name: "RandomFacts",
data () {
return {
randomlyFact: [
"The client can connect to multiple server instances without the need to open it multiple times. The client should be extensible through a secure Plugin and Theme System with own store.",
"Fosscord is completely open-source, so any risk of fraud is eliminated since you can look directly into the code.",
"You can host Fosscord for yourself and create your own Fosscord instance, which is very useful for private networks like schools etc.",
"Because the Fosscord is Open Souce, it is of course fully configurable. However, so is the client, you can use themes, install plugins and more."
][Math.floor(Math.random() * 4)]
}
},
}
</script>

53
index.js

@ -1,53 +0,0 @@
const path = require('path');
const fs = require("fs");
const fse = require("fs-extra");
const pug = require("pug");
// Remove dist folder
if (fse.ensureDir("./dist") == true) {
fse.remove("./dist", (err) => {
if (err) throw err;
console.log("Successfully removed dist folder");
})
}
// Copy public folder into dist folder
fse.copy("./public", "./dist", (err) => {
if (err) throw err;
console.log("Successfully copied public folder into dist folder");
});
// Copy Bootstrap CSS and JS and Normalize.CSS into dist folder
fse.copy("./node_modules/bootstrap/dist/css/bootstrap.min.css", "./dist/bootstrap.min.css", (err) => {
if (err) throw err;
console.log("Successfully copied bootstrap.min.css from node_modules folder to dist folder");
});
fse.copy("./node_modules/bootstrap/dist/js/bootstrap.min.js", "./dist/bootstrap.min.js", (err) => {
if (err) throw err;
console.log("Successfully copied bootstrap.min.js from node_modules folder to dist folder");
});
fse.copy("./node_modules/@fosscord/ui/css/list.css", "./dist/list.css", (err) => {
if (err) throw err;
console.log("Successfully copied list.css from node_modules folder to dist folder");
});
// Compile pug views into html files
function compile(template, finalFile, values) {
const temp = pug.compileFile("views/" + template + ".pug");
if (finalFile == "index.html") {
fs.writeFile("dist/index.html", temp(values), (err) => {
if (err) throw err;
console.log("Successfully compiled views/" + template + ".pug into dist/" + finalFile);
});
} else {
fs.writeFile("dist/" + template + "/" + finalFile, temp(values), (err) => {
if (err) throw err;
console.log("Successfully compiled views/" + template + ".pug into dist/" + finalFile);
});
}
}
console.log("You can see the builded content in " + path.resolve(__dirname, "dist/index.html"));
compile("home", "index.html", { title: "Fosscord - Chat platform" });

44
nuxt.config.js

@ -0,0 +1,44 @@
export default {
// Global page headers: https://go.nuxtjs.dev/config-head
head: {
title: 'Fosscord',
htmlAttrs: {
lang: 'en'
},
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ hid: 'description', name: 'description', content: '' },
{ name: 'format-detection', content: 'telephone=no' }
],
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
]
},
// Global CSS: https://go.nuxtjs.dev/config-css
css: [
"@/assets/css/bootstrap.min.css",
"@/assets/css/style.css",
],
// Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins
plugins: [
],
// Auto import components: https://go.nuxtjs.dev/config-components
components: true,
// Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
buildModules: [
],
// Modules: https://go.nuxtjs.dev/config-modules
modules: [
],
// Build Configuration: https://go.nuxtjs.dev/config-build
build: {
}
}

15406
package-lock.json
File diff suppressed because it is too large
View File

60
package.json

@ -1,46 +1,18 @@
{
"name": "fosscord-landingpage",
"version": "1.0.0",
"description": "The official landing page for Fosscord.",
"private": true,
"scripts": {
"build": "node index.js",
"watch": "nodemon index.js"
},
"repository": {
"type": "git",
"url": "git+https://github.com/fosscord/fosscord-landingpage.git"
},
"author": "Fosscord authors",
"license": "MIT",
"bugs": {
"url": "https://github.com/fosscord/fosscord-landingpage/issues"
},
"homepage": "https://github.com/fosscord/fosscord-landingpage#readme",
"dependencies": {
"@fosscord/ui": "github:fosscord/fosscord-ui",
"@popperjs/core": "^2.9.2",
"bootstrap": "^5.0.0-beta3",
"fs-extra": "^9.1.0",
"glob": "^7.1.6",
"pug": "^3.0.2"
},
"devDependencies": {
"@prettier/plugin-pug": "^1.14.0",
"nodemon": "^2.0.7",
"prettier": "^2.2.1",
"webpack": "^5.36.2",
"webpack-cli": "^4.6.0",
"webpack-node-externals": "^3.0.0"
},
"nodemonConfig": {
"ignore": [
"docs/*"
],
"watch": [
"views/*",
"public/*"
],
"ext": "js,pug,css"
}
"name": "fosscord-landingpage",
"version": "1.0.0",
"author": "Conner Bachmann <mail@conner-bachmann.de>",
"private": false,
"scripts": {
"dev": "nuxt",
"build": "nuxt build",
"start": "nuxt start",
"generate": "nuxt generate"
},
"dependencies": {
"core-js": "^3.15.1",
"nuxt": "^2.15.7",
"nuxt-property-decorator": "^2.9.1"
},
"devDependencies": {}
}

10
pages/about.vue

@ -0,0 +1,10 @@
<template>
<div>
<navbar />
<about />
<fossfooter />
</div>
</template>
<script>
</script>

16
pages/index.vue

@ -0,0 +1,16 @@
<template>
<div>
<navbar />
<hero />
<announcement />
<concept />
<randomfacts />
<contribute />
<fossfooter />
</div>
</template>
<script>
export default {}
</script>

1890
pnpm-lock.yaml
File diff suppressed because it is too large
View File

BIN
public/assets/conference.png

Before

Width: 817  |  Height: 524  |  Size: 28 KiB

BIN
public/assets/logo.png

Before

Width: 1147  |  Height: 1148  |  Size: 36 KiB

BIN
public/assets/social.png

Before

Width: 726  |  Height: 494  |  Size: 26 KiB

11
public/script.js

@ -1,11 +0,0 @@
const header = document.getElementById("scrollc");
function onWindowScroll(event) {
if (window.pageYOffset < 20) {
header.classList.remove("scrolled");
} else {
header.classList.add("scrolled");
}
}
window.addEventListener("scroll", onWindowScroll);

140
public/style.css

@ -1,140 +0,0 @@
:root {
--bg-one: #202225;
--bg-two: #2f3136;
--bg-three: #202225;
--primary: #7289da;
}
body {
font-family: "Sans", sans-serif !important;
background-color: var(--bg-one);
}
header {
background-color: var(--bg-one);
}
.navbar {
background-color: var(--bg-one);
padding-top: 1em;
padding-bottom: 1em;
font-size: 18px;
text-transform: uppercase;
transition: background-color 0.5s;
}
.navbar li a,
.navbar .github-btn {
color: white !important;
font-weight: 300 !important;
margin-left: 8px;
}
.navbar li a:hover {
color: var(--primary) !important;
}
.scrolled {
background-color: #0f0f0f !important;
}
.navbar .navbar-toggler {
background-color: white !important;
}
.github-btn {
border-radius: .25rem;
padding: 5px 6px 2px 6px !important;
transition: 0.3s;
display: inline-block;
border: 2px solid var(--primary);
color: inherit !important;
text-decoration: none;
}
.github-btn:hover,
.github-btn:focus {
background-color: transparent;
}
@media (max-width: 600px) {
.navbar {
padding-left: initial;
padding-right: initial;
}
}
.margin,
.navbar .container-fluid {
margin: 0 auto;
max-width: 1140px;
}
.main {
margin-top: 80px;
text-align: center;
background-color: white;
}
.alert {
margin: 0 !important;
}
.contain.one h5 {
padding-bottom: 10px;
}
.contain.one .btn {
background-color: var(--primary);
color: white;
}
.contain.one {
padding-top: 28vh;
padding-bottom: 40vh;
background-color: var(--bg-two);
color: white;
}
.contain.two {
padding: 2em;
background-color: var(--bg-three);
}
.contain.two .left {
color: white;
text-align: left;
padding-left: 3em;
width: 30em;
}
.contain.two .right {
color: white;
text-align: left;
padding-left: 5em;
}
.title {
margin: 0;
font-size: 56px;
font-weight: 700;
line-height: 64px;
font-family: "Poppins", sans-serif;
}
footer {
background-color: var(--bg-two);
color: white;
padding-top: 2%;
padding-bottom: 1%;
}
ul.list.accent {
background-color: var(--bg-two) !important;
}
.item {
transition: 0.2s;
padding: .375rem .75rem !important;
font-size: 1rem !important;
}

BIN
static/favicon.ico

BIN
static/logo.png

After

Width: 2048  |  Height: 2048  |  Size: 182 KiB

24
views/home.pug

@ -1,24 +0,0 @@
extends layout.pug
block content
div.contain.one
div.margin
h1.title Fosscord
h5 A free, open-source, and self-hostable chat, voice, and video platform.
a.btn(href="https://dev.fosscord.com") Open web-client
div.contain.two
div.margin.d-flex
div.left
h3 About Fosscord
p Fosscord is a FOSS (free open source software) chat, voice, and video platform compatible with the Discord API.
div Fosscord is
ul.list.accent
li.item Discord-compatible
li.item Selfhostable
li.item Open Source
li.item Configurable
li.item Secure
li.item Decentralized
li.item Extendable
li.item Themable
div.right.align-self-auto
img.img-fluid(src="assets/conference.png")

41
views/layout.pug

@ -1,41 +0,0 @@
html
head
meta(name="viewport" content="width=device-width, initial-scale=1")
title #{title}
link(rel="icon" href="assets/logo.png")
link(rel="apple-touch-icon" href="assets/logo.png")
link(rel="stylesheet" href="bootstrap.min.css")
link(rel="stylesheet" href="style.css")
link(rel="stylesheet" href="list.css")
body
header
<nav class="navbar navbar-light navbar-expand-lg fixed-top" id="scrollc">
<div class="container-fluid">
<img src="assets/logo.png" width="40" height="40">
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse justify-content-center" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" aria-current="page" href="../">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" aria-current="page" href="https://docs.fosscord.com">Documentation</a>
</li>
<li class="nav-item">
<a class="btn-outline github-btn nav-link" href="https://github.com/fosscord/fosscord">GitHub</a>
</li>
</ul>
</div>
</nav>
div.main
block content
<footer class="footer mt-auto">
p Fosscord is compatible to Discord's APIs. <strong>Fosscord is not sponsored, endorsed or administered by, or associated with Discord.</strong>
</footer>
script(src="bootstrap.min.js")
script(src="script.js")
Loading…
Cancel
Save