setup a shitty zola site

main
lza_menace 3 years ago
parent c0b09b2127
commit 4786d403bd

1
.gitignore vendored

@ -0,0 +1 @@
/public

3
.gitmodules vendored

@ -0,0 +1,3 @@
[submodule "themes/juice"]
path = themes/juice
url = https://github.com/lalanza808/juice

@ -1,2 +1,3 @@
# moneropunks.org
Static site for the Monero Punks Collective website.
Static site for the Monero Punks Collective website. This static site is intended to be used with [Zola](https://www.getzola.org/) static site generator.

@ -0,0 +1,25 @@
# The URL the site will be built for
base_url = "https://moneropunks.org"
# Whether to automatically compile all Sass files in the sass directory
compile_sass = false
# Whether to build a search index to be used later on by a JavaScript library
build_search_index = false
theme = "juice"
[markdown]
# Whether to do syntax highlighting
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
highlight_code = true
[extra]
juice_logo_name = "M.P.C."
juice_logo_path = "moneropunks.jpg"
juice_extra_menu = [
{ title = "Blog", link = "/blog/"},
{ title = "Forum", link = "https://forum.moneropunks.org", target = "_blank"},
{ title = "Chat", link = "https://web.libera.chat/?channel=#monero-punks", target = "_blank"}
]
repository_url = "https://github.com/lalanza808/moneropunks.org"

@ -0,0 +1,6 @@
+++
title = "Monero Punks Collective"
description = "A collective of builders, developers, engineers, and entrepreneurs - cypher punks - interested in building a healthy ecosystem of tools and support. We design, develop, and implement solutions for the Monero ecosystem at large."
+++
Get in loser, we're going to the show.

@ -0,0 +1,37 @@
+++
title = "About"
description = "About the Monero Punks Collective workgroup"
weight = 3
+++
The Monero Punks workgroup was started as a way to rally the builders in the Monero community and provide an effort to truly showcase their work.
There are many individuals and organizations out there building tools and services but their contributions get lost in the noise since the largest social gatherings (Reddit, Twitter) mostly discuss price, trading, marketing, art, and stickers (hype). Additionally, there aren't many good places where tools and services are being aggregated; [getmonero.org](https://getmonero.org) shows mostly merchants. There's not much detail around the general projects and tools being developed in the ecosystem for those with the inclination to tinker.
For now, we can be found at the following places on the web:
* `#monero-punks` on [Libera Chat](https://libera.chat), IRC network
* `forum.moneropunks.org` - [Forum](https://forum.moneropunks.org) ([Onion Link](http://gay6icg34lq4jjzgjw2fof5gj3pqzvakniwbufk23vhq4fdof4r223qd.onion))
# Who We Are
* tinkerers
* software developers and engineers
* system administrators
* enthusiasts
* entrepreneurs
# What We Are About
* useful technology
* full stack design and implementation
* modern frameworks
* security at all layers
* everything as code
# What We Live By
* KISS
* RTFM
* leave it in better shape than you found it
* fail fast

@ -0,0 +1,39 @@
+++
title = "2021 June Update"
date = 2021-06-28 14:52:01
description = "First update since the launch of the Monero Punks workgroup"
author = "lza_menace"
+++
I made the decision to make this workgroup 6 days ago, bought the domain and created the forum 6 days ago, and posted about it on Reddit/Twitter 5 days ago.
In that 5 days, here's what we've got cooking from the Monero Punks crew:
# Light Wallets
We don't talk about these enough. This could unlock a whole new world of UX for Monero. I'm not talking about a full local wallet with a remote node, I mean a wallet that talks to a server to retrieve updates about it's history on the chain. Rather than waiting for your local wallet to sync up with the chain when you open the app (or run in the background as a service) the premise is that a backend server maintains the wallet sync status and your wallet client just fetches it when you open it. It's much more lightweight and avoids much of the syncing involved with local full wallet implementations (Cake Wallet, Monerujo, Feather, Monero GUI, Monero CLI).
The idea of a remote source being involved may cause concern for single point of failure, privacy, etc, but consider the possibility of a hybrid scenario in which your phone can do both; talk to a server for a periodic update, but also have the ability to switch to full node (no idea if this is possible with the cryptography, but spit-balling here). Also consider the fact that you could own and run your own backend server, no middle-men needed.
Sounds awesome, right?
Almost none of the wallets can do this natively as this capability is not in the current Monero codebase (`wallet2.cpp`) of which all the major wallets have used to transpile their mobile apps. There is one wallet that can do this which is [MyMonero](https://mymonero.com); that codebase has a bespoke implementation of the light wallet functionality. Unfortunately, the source code for the `mymonero.com` backend which does the syncing and interacting via REST API is not available, though there are alternatives.
Through trial and error we were able to get select versions of `MyMonero` working with an open source backend, [monero-lws](https://github.com/vtnerd/monero-lws). The author of this backend is a long-time Monero code contributor and C++ developer, `vtnerd`. They would like to merge this code into the official Monero project eventually.
In terms of this light wallet capability being utilized, it's just not ready enough for mass consumption yet, though power users will be able to set this up on their own with basic guidance. The `MyMonero` app has a lot of complexity which seems to manifest lots of bugs and inconsistencies between devices. A new wallet would feel better, but an existing one adding functionality would be nice, but it will take a while because the C++ Monero codebase would need this capability integrated into it; that is a whole other can of worms unfortunately.
The fastest path to a usable light wallet solution is trimming the burs on `MyMonero` and streamlining the package and distribution of `monero-lws`. Some additional code may be needed to better fit some integrations for `monero-lws`, but otherwise a light wallet solutions is mostly working.
If this is something the larger community may find useful we will need a joint collaboration between wallet developers, backend developers, C++ developers, and Monero cryptography subject matter experts.
> The Monero Punks workgroup will plan to document the setup of a light wallet for power users and work to develop more of a turnkey implementation. If prototypes show some success perhaps a broader push can be mode to update the `wallet2.cpp` codebase to accomodate native light wallet support.
# XMR Patronage
Not sure what to call this without saying "Patreon". A website for creators to share their content to a privacy conscious audience. We basically need to facilitate a way for people to maintain an account and upload/store text, photos, and videos but gated to only allow other registered users who have confirmed payments to view it. Patrons can support their favorite artists, journalists, bloggers, photographers, etc and pay completely anonymously.
On the outset this sounds like a fairly basic CRUD app that has a lot of bells and whistles. However, there are a lot of architecture decisions to make here which can have impacts on the system down the line. Regardless, I've begun working on a prototype which I'm calling [XMR Backers](https://github.com/lalanza808/xmrbackers). I'm still in the process of thinking through potential workflows and schemas for managing funds, subscriptions, and validating payments, restricting access, etc.
It is extremely rudimentary and essentially still a blueprint for a Python web service utilizing Quart (async Flask).

@ -0,0 +1,5 @@
+++
title = "Blog"
template = "blog.html"
permalink = "/blog"
+++

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

@ -0,0 +1,26 @@
{% macro render_header() %}
{% set section = get_section(path="_index.md") %}
<a href="{{ section.permalink }}">
<div class="logo white-text">
<!-- <img src="{{ get_url(path=config.extra.juice_logo_path) }}" alt="logo"> -->
{{ config.extra.juice_logo_name }}
</div>
</a>
<nav>
{% for page in section.pages %}
<a class="nav-item subtitle-text white-text" href="{{ page.permalink }}">{{ page.title }}</a>
{% endfor %}
{% if config.extra.juice_extra_menu %}
{% for menu in config.extra.juice_extra_menu %}
<a class="nav-item subtitle-text white-text" href="{{ menu.link }}" target="{% if menu.target %}{{ menu.target }}{% endif %}">{{ menu.title }}</a>
{% endfor %}
{% endif %}
</nav>
<style>
.white-text {
color: #fff;
}
</style>
{% endmacro render_header %}

@ -0,0 +1,15 @@
<style>
:root {
/* Primary theme color */
--primary-color: #515D5F;
/* Primary theme text color */
--primary-text-color: #543631;
/* Primary theme link color */
--primary-link-color: #F9BB2D;
/* Secondary color: the background body color */
--secondary-color: #fcfaf6;
--secondary-text-color: #303030;
/* Highlight text color of table of content */
--toc-highlight-text-color: #d46e13;
}
</style>

@ -0,0 +1,56 @@
{% extends "juice/templates/index.html" %}
{% block header %}
<header class="box-shadow" style="">
{{ macros::render_header() }}
</header>
{% endblock header %}
{% block content %}
<div class="center">
{% for page in section.pages %}
<div class="blog-preview">
<a href="{{ page.permalink }}">
<div class="preview-title">
<h1>{{ page.title }}</h1>
<p class="preview-subtext">{{ page.date }}</p>
</div>
<div class="preview-description">
<p>{{ page.description }}</p>
</div>
</a>
</div>
{% endfor %}
</div>
<style>
.center {
margin: 0 auto;
display: block;
}
.blog-preview {
margin-bottom: 5em;
border-bottom: 1px solid #455052;
}
.preview-subtext {
font-size: .75em;
}
.preview-description {
font-size: .9em;
color: #455052;
}
.preview-title h1, .preview-title p {
margin: 0;
}
</style>
{% endblock content %}
{% block hero %}{% endblock hero %}
{% block toc %}{% endblock toc %}
{% block footer %}
<footer>
<small class="subtext">
<a href="https://lzahq.tech" target="_blank">by lza_menace</a> - 2021
</small>
</footer>
{% endblock footer %}

@ -0,0 +1,92 @@
{% extends "juice/templates/index.html" %}
{% block hero %}
<section class="text-center" style="width:60%;">
<h1 class="heading-text white-text" style="font-size: 50px">
{{ section.title }}
</h1>
<h3 class="title-text white-text">
{{ section.description }}
</h3>
</section>
<img class="hero-image" style="width:40%;margin-right:2em;border-radius:12px;" src="{{ get_url(path="moneropunks.jpg") }}">
<style>
h1 {
font-size: 3em;
}
h2 {
font-size: 2.5em;
padding: 0;
margin: .5em 0 .5em 0;
}
h3 {
font-size: 1.5em;
padding: 1em 0 .25em 0;
margin: 1em 0 .25em 0;
}
.hero section {
padding: 0 5rem;
}
@media screen and (max-width: 768px) {
.hero section {
padding: 0 2rem;
}
.hero-image {
display: none
}
}
.price {
font-size: 1.5em;
}
main {
padding: 0;
}
</style>
{% endblock hero %}
{% block content %}
<!-- content here when i think of it -->
{% endblock content %}
{% block toc %}
{% if section.toc %}
{% set toc = section.toc %}
{% elif page.toc %}
{% set toc = page.toc %}
{% endif %}
{% if toc %}
<div class="toc">
<div class="toc-sticky">
{% for h in toc %}
<div class="toc-item">
<a class="subtext" href="{{h.permalink | safe}}">{{ h.title }}</a>
</div>
{% if h.children %}
{% for h2 in h.children %}
<div class="toc-item-child">
<a class="subtext" href="{{h2.permalink | safe}}"><small>- {{ h2.title }}</small></a>
{% if h2.children %}
{% for h3 in h2.children %}
<div class="toc-item-child">
<a class="subtext" href="{{h3.permalink | safe}}"><small>- {{ h3.title }}</small></a>
</div>
{% endfor %}
{% endif %}
</div>
{% endfor %}
{% endif %}
{% endfor %}
</div>
</div>
{% endif %}
{% endblock toc %}
{% block footer %}
<footer>
<small class="subtext">
by <a href="https://lzahq.tech" target="_blank">@lza_menace</a> - 2021
</small>
</footer>
{% endblock footer %}

@ -0,0 +1 @@
Subproject commit ac317eef70361a08632f3f3d3b8b8ad022def45e
Loading…
Cancel
Save