197 lines
6.0 KiB
V
197 lines
6.0 KiB
V
module main
|
|
|
|
import os
|
|
import json
|
|
|
|
pub struct SiteConfig {
|
|
pub mut:
|
|
name string
|
|
url string
|
|
branch string = 'default' // means is the default branch
|
|
pull bool
|
|
cat SiteCat
|
|
alias string
|
|
path_code string
|
|
domains []string
|
|
descr string
|
|
}
|
|
|
|
pub enum SiteCat {
|
|
wiki
|
|
data
|
|
web
|
|
}
|
|
|
|
fn data_get() []SiteConfig {
|
|
data := [SiteConfig{
|
|
name: 'www_threefold_io'
|
|
url: 'https://github.com/threefoldfoundation/www_threefold_io'
|
|
branch: 'default'
|
|
pull: false
|
|
cat: .web
|
|
alias: 'tf'
|
|
path_code: '/Users/despiegk/codewww/github/threefoldfoundation/www_threefold_io'
|
|
domains: ['www.threefold.io', 'www.threefold.me']
|
|
descr: 'is our entry point for everyone, redirect to the detailed websites underneith.'
|
|
}, SiteConfig{
|
|
name: 'www_threefold_cloud'
|
|
url: 'https://github.com/threefoldfoundation/www_threefold_cloud'
|
|
branch: 'default'
|
|
pull: false
|
|
cat: .web
|
|
alias: 'cloud'
|
|
path_code: '/Users/despiegk/codewww/github/threefoldfoundation/www_threefold_cloud'
|
|
domains: ['cloud.threefold.io', 'cloud.threefold.me']
|
|
descr: 'for people looking to deploy solutions on top of a cloud, alternative to e.g. digital ocean'
|
|
}, SiteConfig{
|
|
name: 'www_threefold_farming'
|
|
url: 'https://github.com/threefoldfoundation/www_threefold_farming'
|
|
branch: 'default'
|
|
pull: false
|
|
cat: .web
|
|
alias: 'farming'
|
|
path_code: '/Users/despiegk/codewww/github/threefoldfoundation/www_threefold_farming'
|
|
domains: ['farming.threefold.io', 'farming.threefold.me']
|
|
descr: 'crypto & minining enthusiasts, be the internet, know about farming & tokens.'
|
|
}, SiteConfig{
|
|
name: 'www_threefold_twin'
|
|
url: 'https://github.com/threefoldfoundation/www_threefold_twin'
|
|
branch: 'default'
|
|
pull: false
|
|
cat: .web
|
|
alias: 'twin'
|
|
path_code: '/Users/despiegk/codewww/github/threefoldfoundation/www_threefold_twin'
|
|
domains: ['twin.threefold.io', 'twin.threefold.me']
|
|
descr: 'you digital life'
|
|
}, SiteConfig{
|
|
name: 'www_threefold_marketplace'
|
|
url: 'https://github.com/threefoldfoundation/www_threefold_marketplace'
|
|
branch: 'default'
|
|
pull: false
|
|
cat: .web
|
|
alias: 'marketplace'
|
|
path_code: '/Users/despiegk/codewww/github/threefoldfoundation/www_threefold_marketplace'
|
|
domains: ['now.threefold.io', 'marketplace.threefold.io', 'now.threefold.me', 'marketplace.threefold.me']
|
|
descr: 'apps for community builders, runs on top of evdc'
|
|
}, SiteConfig{
|
|
name: 'www_conscious_internet'
|
|
url: 'https://github.com/threefoldfoundation/www_conscious_internet'
|
|
branch: 'default'
|
|
pull: false
|
|
cat: .web
|
|
alias: 'conscious_internet'
|
|
path_code: '/Users/despiegk/codewww/github/threefoldfoundation/www_conscious_internet'
|
|
domains: ['www.consciousinternet.org', 'eco.threefold.io', 'community.threefold.io', 'eco.threefold.me',
|
|
'community.threefold.me',
|
|
]
|
|
descr: 'community around threefold, partners, friends, ...'
|
|
}, SiteConfig{
|
|
name: 'www_threefold_tech'
|
|
url: 'https://github.com/threefoldtech/www_threefold_tech'
|
|
branch: 'default'
|
|
pull: false
|
|
cat: .web
|
|
alias: 'tech'
|
|
path_code: '/Users/despiegk/codewww/github/threefoldtech/www_threefold_tech'
|
|
domains: ['www.threefold.tech']
|
|
descr: 'cyberpandemic, use the tech to build your own solutions with, certification for TFGrid'
|
|
}, SiteConfig{
|
|
name: 'www_examplesite'
|
|
url: 'https://github.com/threefoldfoundation/www_examplesite'
|
|
branch: 'default'
|
|
pull: false
|
|
cat: .web
|
|
alias: 'example'
|
|
path_code: '/Users/despiegk/codewww/github/threefoldfoundation/www_examplesite'
|
|
domains: ['example.threefold.io']
|
|
descr: ''
|
|
}, SiteConfig{
|
|
name: 'info_threefold'
|
|
url: 'https://github.com/threefoldfoundation/info_foundation_archive'
|
|
branch: 'default'
|
|
pull: false
|
|
cat: .wiki
|
|
alias: 'threefold'
|
|
path_code: '/Users/despiegk/codewww/github/threefoldfoundation/info_foundation_archive'
|
|
domains: ['info.threefold.io']
|
|
descr: 'wiki for foundation, collaborate, what if farmings, tokens'
|
|
}, SiteConfig{
|
|
name: 'info_sdk'
|
|
url: 'https://github.com/threefoldfoundation/info_sdk'
|
|
branch: 'default'
|
|
pull: false
|
|
cat: .wiki
|
|
alias: 'sdk'
|
|
path_code: '/Users/despiegk/codewww/github/threefoldfoundation/info_sdk'
|
|
domains: ['sdk.threefold.io', 'sdk_info.threefold.io']
|
|
descr: 'for IAC, devops, how to do Infrastruture As Code, 3bot, Ansible, tfgrid-sdk, ...'
|
|
}, SiteConfig{
|
|
name: 'info_legal'
|
|
url: 'https://github.com/threefoldfoundation/info_legal'
|
|
branch: 'default'
|
|
pull: false
|
|
cat: .wiki
|
|
alias: 'legal'
|
|
path_code: '/Users/despiegk/codewww/github/threefoldfoundation/info_legal'
|
|
domains: ['legal.threefold.io', 'legal_info.threefold.io']
|
|
descr: ''
|
|
}, SiteConfig{
|
|
name: 'info_cloud'
|
|
url: 'https://github.com/threefoldfoundation/info_cloud'
|
|
branch: 'default'
|
|
pull: false
|
|
cat: .wiki
|
|
alias: 'cloud'
|
|
path_code: '/Users/despiegk/codewww/github/threefoldfoundation/info_cloud'
|
|
domains: ['cloud_info.threefold.io']
|
|
descr: 'how to use the cloud for deploying apps: evdc, kubernetes, planetary fs, ... + marketplace solutions '
|
|
}, SiteConfig{
|
|
name: 'info_tftech'
|
|
url: 'https://github.com/threefoldtech/info_tftech'
|
|
branch: 'default'
|
|
pull: false
|
|
cat: .wiki
|
|
alias: 'tftech'
|
|
path_code: '/Users/despiegk/codewww/github/threefoldtech/info_tftech'
|
|
domains: ['info.threefold.tech']
|
|
descr: ''
|
|
}, SiteConfig{
|
|
name: 'info_digitaltwin'
|
|
url: 'https://github.com/threefoldfoundation/info_digitaltwin.git'
|
|
branch: 'default'
|
|
pull: false
|
|
cat: .wiki
|
|
alias: 'twin'
|
|
path_code: '/Users/despiegk/codewww/github/threefoldfoundation/info_digitaltwin'
|
|
domains: ['twin_info.threefold.io']
|
|
descr: ''
|
|
}]
|
|
return data
|
|
}
|
|
|
|
fn data_dump(data []SiteConfig) {
|
|
a := json.encode_pretty(data)
|
|
os.write_file('data.json', a) or { panic(err) }
|
|
}
|
|
|
|
fn data_load() []SiteConfig {
|
|
data := os.read_file('data.json') or { panic(err) }
|
|
a := json.decode([]SiteConfig, data) or { panic(err) }
|
|
return a
|
|
}
|
|
|
|
fn filled_in_template() string {
|
|
port_str := '80'
|
|
sites := data_load()
|
|
return $tmpl('template.md')
|
|
}
|
|
|
|
fn main() {
|
|
// A NICE test how to work with the json module
|
|
// data := data_get()
|
|
// data_dump(data)
|
|
b := filled_in_template()
|
|
println(b)
|
|
os.write_file('result.md', b) or { panic(err) }
|
|
}
|