Merge branch 'master' of git+ssh://code.ungleich.ch/ungleich-public/ungleich-staticcms
This commit is contained in:
commit
c9db8c3e6f
10 changed files with 153 additions and 7 deletions
|
@ -8,3 +8,16 @@ There is not much here - everything is stored below /u/.
|
||||||
You should actually not be able to see this page below ungleich.ch. If
|
You should actually not be able to see this page below ungleich.ch. If
|
||||||
you do, please let us know.
|
you do, please let us know.
|
||||||
---
|
---
|
||||||
|
slider:
|
||||||
|
|
||||||
|
title:
|
||||||
|
|
||||||
|
description:
|
||||||
|
|
||||||
|
button_text:
|
||||||
|
|
||||||
|
button_link:
|
||||||
|
|
||||||
|
background_image:
|
||||||
|
|
||||||
|
video_mp4:
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
title: Emacs, be my server
|
title: Emacs server the fun way
|
||||||
---
|
---
|
||||||
pub_date: 2020-04-23
|
pub_date: 2020-04-23
|
||||||
---
|
---
|
||||||
|
@ -57,13 +57,13 @@ much faster is the obvious advantage. However, there is a much bigger
|
||||||
one:
|
one:
|
||||||
|
|
||||||
With the emacs server, you can connect to it from the terminal **and** X
|
With the emacs server, you can connect to it from the terminal **and** X
|
||||||
Windows. Because the emacs server also manages the buffers ("open
|
Window. Because the emacs server also manages the buffers ("open
|
||||||
files" for non-emacs users), you can view the same open file from the
|
files" for non-emacs users), you can view the same open file from the
|
||||||
terminal or an x window.
|
terminal or an x window.
|
||||||
|
|
||||||
## Turning the notebook into a server
|
## Turning the notebook into a server
|
||||||
|
|
||||||
As you might now, we at ungleich are pretty much into IPv6. So all of
|
As you might know, we at ungleich are pretty much into IPv6. So all of
|
||||||
our devices are generally speaking world-wide reachable. Our work
|
our devices are generally speaking world-wide reachable. Our work
|
||||||
notebooks are no exception from that. In fact, most notebooks even
|
notebooks are no exception from that. In fact, most notebooks even
|
||||||
have their own [/48 IPv6 network assigned via
|
have their own [/48 IPv6 network assigned via
|
||||||
|
@ -118,3 +118,26 @@ window is the X11 window, the lower window is a terminal window (they
|
||||||
happen to be configured to have the same nice background colour).
|
happen to be configured to have the same nice background colour).
|
||||||
|
|
||||||
![](emacs.png)
|
![](emacs.png)
|
||||||
|
|
||||||
|
|
||||||
|
## Updates
|
||||||
|
|
||||||
|
### 2020-04-23, 17:23
|
||||||
|
|
||||||
|
[MutoShack](https://www.reddit.com/user/MutoShack/) pointed
|
||||||
|
out on
|
||||||
|
[reddit](https://www.reddit.com/r/emacs/comments/g6nqwv/emacs_server_the_fun_way/foazghz/)
|
||||||
|
that using
|
||||||
|
|
||||||
|
```
|
||||||
|
emacsclient -a "" -c
|
||||||
|
```
|
||||||
|
|
||||||
|
is actually smarter than just using
|
||||||
|
|
||||||
|
```
|
||||||
|
emacsclient -c
|
||||||
|
```,
|
||||||
|
|
||||||
|
because it will start the daemon if it is not already running. No day
|
||||||
|
that you don't learn something!
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
_discoverable: no
|
_discoverable: yes
|
||||||
---
|
---
|
||||||
_hidden: no
|
_hidden: no
|
||||||
---
|
---
|
||||||
|
@ -6,3 +6,48 @@ title: BGP Peering
|
||||||
---
|
---
|
||||||
subtitle: Manage your own address space
|
subtitle: Manage your own address space
|
||||||
---
|
---
|
||||||
|
---
|
||||||
|
headline1: BGP Peering
|
||||||
|
---
|
||||||
|
headline2: Your own IP Space
|
||||||
|
---
|
||||||
|
headline3: At Data Center Light
|
||||||
|
---
|
||||||
|
header_background_color: #6298CB
|
||||||
|
---
|
||||||
|
header_text_color: text-light
|
||||||
|
---
|
||||||
|
content1_text:
|
||||||
|
|
||||||
|
## For whom is BGP peering?
|
||||||
|
|
||||||
|
If you have your own ASN with IPv6 or IPv4 address space, you can
|
||||||
|
announce it in our data centers.
|
||||||
|
|
||||||
|
## What is required for BGP peering
|
||||||
|
|
||||||
|
To be able to peer with us, you will need to have IP addresses in our
|
||||||
|
data center. This is the case if you have one of these products:
|
||||||
|
|
||||||
|
* [A Data Center Light VM](../virtual-machine-hosting/)
|
||||||
|
* [An IPv6 Only VM](../ipv6-only-hosting/)
|
||||||
|
* [Physical co-located hardware](../colocation/)
|
||||||
|
|
||||||
|
## How to setup BGP peering
|
||||||
|
|
||||||
|
Send a mail to support -at- ungleich.ch containing the following
|
||||||
|
information:
|
||||||
|
|
||||||
|
* Your ASN and the list of networks you intend to announce
|
||||||
|
* Your local IP addresses
|
||||||
|
|
||||||
|
Before we can peer, ensure that all objects in the RIPE database are
|
||||||
|
setup correctly. Specifically ensure that you have
|
||||||
|
|
||||||
|
* route6 / route objects
|
||||||
|
* inet6num / inetnum objects
|
||||||
|
* ROA / RPKI configured
|
||||||
|
|
||||||
|
## Pricing
|
||||||
|
|
||||||
|
Setting up peering has a 42 CHF one time fee.
|
||||||
|
|
|
@ -22,7 +22,7 @@ If you already have a matrix account, you can join
|
||||||
|
|
||||||
If you don't have a matrix account, you find the instructions
|
If you don't have a matrix account, you find the instructions
|
||||||
on [how to create a matrix account on our Open Chat
|
on [how to create a matrix account on our Open Chat
|
||||||
page](../open-chat).
|
page](/u/projects/open-chat/).
|
||||||
|
|
||||||
## Other chat rooms
|
## Other chat rooms
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,8 @@ title: This.week.via-IPv6.com
|
||||||
---
|
---
|
||||||
subtitle: What happens in a week with IPv6?
|
subtitle: What happens in a week with IPv6?
|
||||||
---
|
---
|
||||||
|
_discoverable: no
|
||||||
|
---
|
||||||
content:
|
content:
|
||||||
|
|
||||||
To be able to track what is going on in the IPv6 world, we created a
|
To be able to track what is going on in the IPv6 world, we created a
|
||||||
|
|
29
content/u/projects/ubookmark/contents.lr
Normal file
29
content/u/projects/ubookmark/contents.lr
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
title: ubookmark
|
||||||
|
---
|
||||||
|
subtitle:
|
||||||
|
ubookmark is a simple link collecting website.
|
||||||
|
---
|
||||||
|
content:
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
ubookmark is based on Django, Bootstrap 4
|
||||||
|
and uses LDAP authentication. It was written and designed for
|
||||||
|
running [IPv6.blog](https://IPv6.blog), but should be re-usable in
|
||||||
|
other situations.
|
||||||
|
|
||||||
|
ubookmark is FOSS and its source code can be found on
|
||||||
|
[code.ungleich.ch](https://code.ungleich.ch/ungleich-public/ubookmark/).
|
||||||
|
|
||||||
|
## How to install
|
||||||
|
|
||||||
|
* git clone above repository
|
||||||
|
* Setup a local postgresql database named "ubookmark"
|
||||||
|
* Copy ubookmark/sample_settings.py to ubookmark/local_settings.py
|
||||||
|
* Modify settings as needed
|
||||||
|
* Install requirements using `pip install -r requirements.txt`
|
||||||
|
|
||||||
|
## How to run
|
||||||
|
|
||||||
|
It is a standard Django app, so you can use uwsgi
|
||||||
|
or the included server for testing: `python manage.py runserver`.
|
|
@ -17,3 +17,7 @@ type = markdown
|
||||||
[fields.image]
|
[fields.image]
|
||||||
label = Image
|
label = Image
|
||||||
type = url
|
type = url
|
||||||
|
|
||||||
|
[fields.slider]
|
||||||
|
type = flow
|
||||||
|
flow_blocks = slider
|
||||||
|
|
3
templates/blocks/slider.html
Normal file
3
templates/blocks/slider.html
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<div class="text-block text-block-{{ this.class }}">
|
||||||
|
{{ this.text }}
|
||||||
|
</div>
|
|
@ -99,6 +99,12 @@
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
{# Priority:
|
||||||
|
If slider given, take slider.
|
||||||
|
If headline1/2/3 given, take the headline.
|
||||||
|
Else default to boxed title + subtitle
|
||||||
|
#}
|
||||||
|
|
||||||
{% if this.headline1 or this.headline2 or this.headline3 %}
|
{% if this.headline1 or this.headline2 or this.headline3 %}
|
||||||
<div class="jumbotron jumbotron-fluid" style="background-color: {{this.header_background_color}};">
|
<div class="jumbotron jumbotron-fluid" style="background-color: {{this.header_background_color}};">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
|
|
|
@ -6,6 +6,22 @@
|
||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
{% for childpage in this.children %}
|
{% for childpage in this.children %}
|
||||||
|
|
||||||
|
{# Setup default settings for the overview #}
|
||||||
|
|
||||||
|
{% if childpage.header_background_color %}
|
||||||
|
{% set div_style = 'background-color:' + childpage.header_background_color + ';' %}
|
||||||
|
{% else %}
|
||||||
|
{% set div_style = 'background-color: #6FB0E5;' %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if childpage.header_text_color %}
|
||||||
|
{% set div_classes = childpage.header_text_color %}
|
||||||
|
{% else %}
|
||||||
|
{% set div_classes = 'text-light' %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
|
||||||
{% if loop.first %}
|
{% if loop.first %}
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -16,8 +32,13 @@
|
||||||
<img class="card-img-top" src="{{ childpage.image }}"
|
<img class="card-img-top" src="{{ childpage.image }}"
|
||||||
alt="{{ childpage.title }}">
|
alt="{{ childpage.title }}">
|
||||||
{% else %}
|
{% else %}
|
||||||
<img class="card-img-top" src="/u/image/cards/placeholder.jpg"
|
<div style="{{ div_style }} font-weight: bold; padding-left:
|
||||||
alt="{{ childpage.title }}">
|
12px; padding-right: 6px; text-transform: uppercase;"
|
||||||
|
class="{{ div_classes }} display-4">
|
||||||
|
<br/>
|
||||||
|
{{ childpage.title }}<sup style="font-weight: normal;">≠</sup><br/>
|
||||||
|
<br/>
|
||||||
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</a>
|
</a>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
|
Loading…
Reference in a new issue