diff options
Diffstat (limited to 'v_windows/v/old/examples/templates')
| -rw-r--r-- | v_windows/v/old/examples/templates/data.json | 197 | ||||
| -rw-r--r-- | v_windows/v/old/examples/templates/readme.md | 14 | ||||
| -rw-r--r-- | v_windows/v/old/examples/templates/template.md | 16 | ||||
| -rw-r--r-- | v_windows/v/old/examples/templates/templates.v | 196 | 
4 files changed, 423 insertions, 0 deletions
diff --git a/v_windows/v/old/examples/templates/data.json b/v_windows/v/old/examples/templates/data.json new file mode 100644 index 0000000..a6765cf --- /dev/null +++ b/v_windows/v/old/examples/templates/data.json @@ -0,0 +1,197 @@ +[ +    { +        "name": "www_threefold_io", +        "url": "https://github.com/threefoldfoundation/www_threefold_io", +        "branch": "default", +        "pull": false, +        "cat": 2, +        "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." +    }, +    { +        "name": "www_threefold_cloud", +        "url": "https://github.com/threefoldfoundation/www_threefold_cloud", +        "branch": "default", +        "pull": false, +        "cat": 2, +        "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" +    }, +    { +        "name": "www_threefold_farming", +        "url": "https://github.com/threefoldfoundation/www_threefold_farming", +        "branch": "default", +        "pull": false, +        "cat": 2, +        "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." +    }, +    { +        "name": "www_threefold_twin", +        "url": "https://github.com/threefoldfoundation/www_threefold_twin", +        "branch": "default", +        "pull": false, +        "cat": 2, +        "alias": "twin", +        "path_code": "/Users/despiegk/codewww/github/threefoldfoundation/www_threefold_twin", +        "domains": [ +            "twin.threefold.io", +            "twin.threefold.me" +        ], +        "descr": "you digital life" +    }, +    { +        "name": "www_threefold_marketplace", +        "url": "https://github.com/threefoldfoundation/www_threefold_marketplace", +        "branch": "default", +        "pull": false, +        "cat": 2, +        "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" +    }, +    { +        "name": "www_conscious_internet", +        "url": "https://github.com/threefoldfoundation/www_conscious_internet", +        "branch": "default", +        "pull": false, +        "cat": 2, +        "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, ..." +    }, +    { +        "name": "www_threefold_tech", +        "url": "https://github.com/threefoldtech/www_threefold_tech", +        "branch": "default", +        "pull": false, +        "cat": 2, +        "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" +    }, +    { +        "name": "www_examplesite", +        "url": "https://github.com/threefoldfoundation/www_examplesite", +        "branch": "default", +        "pull": false, +        "cat": 2, +        "alias": "example", +        "path_code": "/Users/despiegk/codewww/github/threefoldfoundation/www_examplesite", +        "domains": [ +            "example.threefold.io" +        ], +        "descr": "" +    }, +    { +        "name": "info_threefold", +        "url": "https://github.com/threefoldfoundation/info_foundation_archive", +        "branch": "default", +        "pull": false, +        "cat": 0, +        "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" +    }, +    { +        "name": "info_sdk", +        "url": "https://github.com/threefoldfoundation/info_sdk", +        "branch": "default", +        "pull": false, +        "cat": 0, +        "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, ..." +    }, +    { +        "name": "info_legal", +        "url": "https://github.com/threefoldfoundation/info_legal", +        "branch": "default", +        "pull": false, +        "cat": 0, +        "alias": "legal", +        "path_code": "/Users/despiegk/codewww/github/threefoldfoundation/info_legal", +        "domains": [ +            "legal.threefold.io", +            "legal_info.threefold.io" +        ], +        "descr": "" +    }, +    { +        "name": "info_cloud", +        "url": "https://github.com/threefoldfoundation/info_cloud", +        "branch": "default", +        "pull": false, +        "cat": 0, +        "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 " +    }, +    { +        "name": "info_tftech", +        "url": "https://github.com/threefoldtech/info_tftech", +        "branch": "default", +        "pull": false, +        "cat": 0, +        "alias": "tftech", +        "path_code": "/Users/despiegk/codewww/github/threefoldtech/info_tftech", +        "domains": [ +            "info.threefold.tech" +        ], +        "descr": "" +    }, +    { +        "name": "info_digitaltwin", +        "url": "https://github.com/threefoldfoundation/info_digitaltwin.git", +        "branch": "default", +        "pull": false, +        "cat": 0, +        "alias": "twin", +        "path_code": "/Users/despiegk/codewww/github/threefoldfoundation/info_digitaltwin", +        "domains": [ +            "twin_info.threefold.io" +        ], +        "descr": "" +    } +]
\ No newline at end of file diff --git a/v_windows/v/old/examples/templates/readme.md b/v_windows/v/old/examples/templates/readme.md new file mode 100644 index 0000000..3129068 --- /dev/null +++ b/v_windows/v/old/examples/templates/readme.md @@ -0,0 +1,14 @@ +# example how to work with templates + +- templates support +  - if +  - for loops +  - even nesting of for loops +  - syntax checking +  - embed the template into the binary + +Its a very cool way how to do also do e.g. system administration, fill in  +config files, etc... + +The example there is also a good demonstration of how to use json on a more  +complex object and read/write to file. diff --git a/v_windows/v/old/examples/templates/template.md b/v_windows/v/old/examples/templates/template.md new file mode 100644 index 0000000..7bbdc0d --- /dev/null +++ b/v_windows/v/old/examples/templates/template.md @@ -0,0 +1,16 @@ +# WIKIs + +@for site in sites +@if site.cat == .wiki + +## @{site.domains[0]}@port_str + +- [errors]("//@{site.domains[0]}@port_str/errors") + +### domains + +@for dom in site.domains +- @dom +@end +@end +@end diff --git a/v_windows/v/old/examples/templates/templates.v b/v_windows/v/old/examples/templates/templates.v new file mode 100644 index 0000000..65ec459 --- /dev/null +++ b/v_windows/v/old/examples/templates/templates.v @@ -0,0 +1,196 @@ +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(os.resource_abs_path('data.json'), a) or { panic(err) } +} + +fn data_load() []SiteConfig { +	data := os.read_file(os.resource_abs_path('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) +}  | 
