add a testproduct

This commit is contained in:
Nico Schottelius 2019-12-30 23:09:33 +01:00
parent c4ca3a22df
commit ef8e147a9c
8 changed files with 243 additions and 90 deletions

View File

@ -1,11 +1,13 @@
name: IPv6 Only Hosting
---
buy_link: https://google.com
---
description: Hi there this is descriptino
link: https://ipv6onlyhosting.com
---
_discoverable: yes
---
_hidden: no
---
teaser: We provide best IPv6 only hosting
abstract: We provide best IPv6 only hosting
---
description:
Hi there this is descriptino

View File

@ -0,0 +1,15 @@
_discoverable: yes
---
_hidden: no
---
_model: testproduct
---
title: IPv6 VPN
---
subtitle: The IPv6 VPN allows you to reach the IPv6 Internet from everywhere!
---
link: http://ungleich.ch
---
description: This is description
---
teaser: This is teaser

View File

@ -8,8 +8,8 @@ label = Product Name
type = string
size = large
[fields.teaser]
label = Teaser
[fields.abstract]
label = Abstract
type = string
width = 1/2
@ -17,9 +17,8 @@ width = 1/2
label = Description
type = string
width = 1/4
addon_label = @
[fields.buy_link]
label = Buy Link
[fields.link]
label = Link
type = url
width = 1/4

18
models/testproduct.ini Normal file
View File

@ -0,0 +1,18 @@
[model]
name = Product
label = {{ this.title }}
hidden = yes
[fields.title]
label = Product Name
type = string
size = large
[fields.subtitle]
label = subtitle
type = string
[fields.link]
label = Link
type = url
width = 1/4

156
templates/layout-2020.html Normal file
View File

@ -0,0 +1,156 @@
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<title>{% block title %}Welcome to {% endblock %} | ungleich.ch</title>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="https://ungleich.ch">ungleich</a>
<button class="navbar-toggler" type="button"
data-toggle="collapse"
data-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
<form class="form-inline my-2 my-lg-0"
action="https://search.ungleich.ch/yacysearch.html" method="get">
<input class="form-control mr-sm-2" type="search"
placeholder="Search" name="query" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
</nav>
<div class="position-relative overflow-hidden p-3 p-md-5 m-md-3 text-center bg-light">
<div class="col-md-5 p-lg-5 mx-auto my-5">
<h1 class="display-4 font-weight-normal">{{ self.title() }}</h1>
<p class="lead font-weight-normal">
{% block subtitle %}{% endblock %}
</p>
</div>
<div class="product-device shadow-sm d-none d-md-block"></div>
<div class="product-device product-device-2 shadow-sm d-none d-md-block"></div>
</div>
<div class="container">
<div class="row mb-5">
<div class="col-md-4">
<h3 class="font-weight-normal">Feature1</h3>
<p class="font-weight-normal">And an even wittier subheading
to boot. Jumpstart your marketing efforts with this example based
on Apples marketing pages.</p>
</div>
<div class="col-md-4">
<h3 class="font-weight-normal">feature2</h3>
<p class="font-weight-normal">And an even wittier subheading
to boot. Jumpstart your marketing efforts with this example based
on Apples marketing pages.</p>
</div>
<div class="col-md-4">
<h3 class="font-weight-normal">feature3</h3>
<p class="font-weight-normal">And an even wittier subheading
to boot. Jumpstart your marketing efforts with this example based
on Apples marketing pages.</p>
</div>
</div>
</div>
<div class="container">
<div class="row mb-3">
<div class="col-md-7">
UPPER-CONTENT non caps!
</div>
<div class="col-md-5">
<img src="https://hack4glarus.ch/static/ungleich_page/img/logo_black.svg" class="img-fluid">
</div>
</div>
</div>
<div class="container">
<div class="row mb-3">
<div class="col-md-4">
<div class="card">
<div class="card-body">
<h5 class="card-title">Offer 1</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<div class="card-body">
<h5 class="card-title">Offer 2</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<div class="card-body">
<h5 class="card-title">Offer 3</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
</div>
</div>
</div>
<hr/>
<div class="container">
<div class="row mb-3">
<div class="col-md-7">
LOWER-CONTENT
</div>
<div class="col-md-5">
<img src="https://hack4glarus.ch/static/ungleich_page/img/logo_black.svg" class="img-fluid">
</div>
</div>
</div>
<footer class="footer mt-auto py-3">
<div class="container">
<span class="text-muted">Copyright
<a class=footer-link href="https://ungleich.ch">ungleich</a>.</span>
</div>
</footer>
</body>
</html>

View File

@ -1,74 +1,3 @@
<!-- <!doctype html>
<head>
<meta charset="utf-8">
<title>the new ungleich blog | ungleich.ch</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Affordable VM hosting in Glarus, Switzerland, operated by 100% hydropower. Devuan, debian, freebsd, ubuntu, centos. Our tech stack is fully open source.">
<meta name="author" content="ungleich glarus ag">
<link href="https://ungleich.ch/u/static/css/bootstrap-3.3.4/css/bootstrap.min.css" rel="stylesheet" type="text/css">
<link href="https://ungleich.ch/u/static/css/font-awesome-4.1.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<link href="https://ungleich.ch/u/static/css/clean-blog.css" rel="stylesheet" type="text/css">
<link href="//fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic" rel="stylesheet" type="text/css">
<link href="//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet" type="text/css">
<link rel="shortcut icon" href="https://ungleich.ch/u/static/images/favicon.ico"/>
<script type="text/javascript" src="https://ungleich.ch/u/static/js/jquery.js"></script>
<script type="text/javascript" src="https://ungleich.ch/u/static/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="jumbotron">
<h1>Welcome to ungleich's store.</h1>
<p>Here you can find all the good things. </p>
<p><a class="btn btn-primary btn-lg" href="#" role="button">Learn more</a></p>
</div>
</div>
<div class="row">
<div class="col-md-3">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">IPv6 VPN</h3>
</div>
<div class="panel-body">
The ungleich IPv6 VPN enables you to have IPv6 anywhere in the world. There are active VPNs in Germany, Croatia, South Korea, China, Spain, ... you name it! Coming with a /48 network, you have plenty of IPv6 space that even allows you to create more than 65'000 standard (/64) networks for yourself. One for the office, one for the coworkers, one for the servers, one for the dog and so on and on.
</div>
</div>
</div>
<div class="col-md-3">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">IPv6 Backuo</h3>
</div>
<div class="panel-body">
IPv6 is quickly replacing IPv4 now world wide and more and more servers are only reachable by IPv6. So a backup without IPv6 is not future ready.
</div>
</div>
</div>
<div class="col-md-3">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">IPv6 Only Hosting</h3>
</div>
<div class="panel-body">
Our VMs have pure IPv6 connectivity. However using DNS64 and NAT64, they still can reach the old IPv4 Internet.
Secure, easy, and simple. It will be running in few seconds.
</div>
</div>
</div>
<div class="col-md-3">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Product 4</h3>
</div>
<div class="panel-body">
Panel content
</div>
</div>
</div>
</div>
</div>
</body> -->
{% extends "layout.html" %}
{% from "macros/blog.html" import render_blog_post %}
{% from "macros/pagination.html" import render_pagination %}

View File

@ -17,21 +17,22 @@
</div>
</div>
</header>
<div class="container">
<div class="row">
<div class="row">
{% for product in this.children %}
<div class="col-md-3">
<div class="panel panel-primary">
<div class="panel-heading">
<h2 class="panel-title">{{product.name}}</h3>
</div>
<div class="panel-body">
{{product.teaser}}
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">
<h2 class="panel-title">{{ product.name}}</h2>
</div>
<div class="panel-body">
{{product.teaser}}
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</div>
</div>
{% endblock %}

View File

@ -0,0 +1,33 @@
{% extends "layout-2020.html" %}
{% block title %}{{ this.title }}{% endblock %}
{% block subtitle %}{{ this.subtitle }}{% endblock %}
{% block body %}
<header class="intro-header" style="background-image: url('/u/static/images/home-bg.jpg');">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<div class="site-heading">
<h1>ungleich store</h1>
<hr class="small">
<span class="subheading"></span>
</div>
</div>
</div>
</div>
</header>
<div class="container">
<div class="row">
<div class="col-md-3">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">{{this.name}}</h3>
</div>
<div class="panel-body">
{{this.description}}
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}