Lot of normalizing and cleanups.

This commit is contained in:
Johannes Findeisen 2024-09-25 07:19:42 +02:00
commit f9d50c7579
5 changed files with 48 additions and 52 deletions

View file

@ -1,9 +1,8 @@
document_root: /var/www/xw3.org/www/_site/
data_dir: /var/www/xw3.org/www/_data/
title: xw3
org: xw3.org
title: xw3.org
subtitle: Extending the World Wide Web
description: xw3 is a framework for building static web based applications using a CGI and JavaScript to implement dynamic features. The static website generator we use is <a href="https://jekyllrb.com/" class="ext">Jekyll</a>. Look at the <a href="/examples/">examples</a> page! Additionally there is a <a href="https://git.xw3.org/xw3/xw3/src/branch/main/Makefile">Makefile</a> included for easy deployment of the application / website.
description: xw3 is a framework for building static web based applications using a <a href="https://en.wikipedia.org/wiki/Common_Gateway_Interface" class="ext" target="_blank">CGI</a> and JavaScript to implement dynamic features. The static website generator we use is <a href="https://jekyllrb.com/" class="ext">Jekyll</a>. Look at the <a href="/examples/">examples</a> page! Additionally there is a <a href="https://git.xw3.org/xw3/xw3/src/branch/main/Makefile">Makefile</a> included for easy deployment of the application/website.
keywords:
- xw3
- static

View file

@ -1,7 +1,7 @@
<head>
<meta charset="{{ site.charset }}">
<meta name="author" content="{{ site.author }}">
<title>{{ site.url_short }}:{{ page.url }} - {{ site.subtitle }}</title>
<title>{{ site.title }}:{{ page.url }} - {{ site.subtitle }}</title>
<meta name="description" content="{% if page.description %}{{ page.description | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description | strip_html | strip_newlines | truncate: 160 }}{% endif %}">
{% if page.tags %}<meta name="keywords" content="{{ site.keywords | join: ',' }},{{ page.tags | join: ',' }}">{% endif %}
<meta name="viewport" content="width=device-width, initial-scale=1">

View file

@ -15,11 +15,13 @@ tags:
- checkpassword
---
I created a small C program to authenticate against PAM called [checkpw](https://git.xw3.org/xw3/checkpw). This program is only for verifiying a user's password that is registered in /etc/passwd using /etc/shadow, or whatever PAM is configured to use.
I created a small C program to authenticate against a UNIX/[PAM](https://en.wikipedia.org/wiki/Pluggable_authentication_module){:class="ext" target="_blank"} called [checkpw](https://git.xw3.org/xw3/checkpw). This program is only for verifiying a user's password, that is registered in /etc/passwd using /etc/shadow, or whatever PAM is configured to use.
The program returns 0 on success, 1 otherwise.
With this program it will be possible to authenticate an xw3 application user against the system's user database.
With this program, it will be possible to authenticate an xw3 application user against the system's user database.
Currently only tested on Linux, but it should work on the [AIX](https://en.wikipedia.org/wiki/IBM_AIX){:class="ext" target="_blank"}, [DragonFly BSD](https://www.dragonflybsd.org/){:class="ext" target="_blank"}, [FreeBSD](https://www.freebsd.org/){:class="ext" target="_blank"}, [HP-UX](https://en.wikipedia.org/wiki/HP-UX){:class="ext" target="_blank"}, [Linux](https://kernel.org/){:class="ext" target="_blank"}, [macOS](https://en.wikipedia.org/wiki/MacOS){:class="ext" target="_blank"}, [NetBSD](https://netbsd.org/){:class="ext" target="_blank"} and [Solaris](https://en.wikipedia.org/wiki/Oracle_Solaris){:class="ext" target="_blank"} operating system too. I will test API compatibility for all OS's listed soon... ;)
Groups will be handled using /etc/group (not available yet, but it should be easy to implement).

View file

@ -11,9 +11,8 @@
html {
}
body, h1, h2, h3, h4, h5, h6,
p, blockquote, pre, hr,
dl, dd, ol, ul, figure {
body, h1, h2, h3, h4, h5, h6, p, code, blockquote,
pre, hr, dl, dd, ol, ul, figure, span {
margin: 0;
padding: 0;
}
@ -31,10 +30,12 @@ body {
h1, h2, h3, h4, h5, h6 {
color: $headline-color;
font-family: "CourierPrimeSans";
padding-top: 18px;
}
h1 {
color: $headline-color;
padding-top: 0px;
}
h2 {
@ -45,10 +46,6 @@ h2 {
}
}
h3 {
padding-top: 8px;
}
img {
max-width: 100%;
vertical-align: middle;
@ -56,7 +53,7 @@ img {
img.l {
border: 0;
float:left;
float: left;
margin: 6px 16px 0 0;
padding: 0;
}
@ -71,11 +68,9 @@ img.r {
img.x {
max-width: 99.8%;
border: 1px solid #000;
//border-radius: 12px 12px;
}
ul, ol {
//margin-left: calc($spacing-unit + 20px);
margin-left: 25px;
}
@ -117,7 +112,6 @@ a.ext:after {
}
p {
//text-align: justify;
padding: 0px 0px 14px 0px;
}
@ -135,7 +129,7 @@ blockquote {
pre {
-moz-tab-size: 2;
border: 1px $grey-color solid;
border: 0px $grey-color solid;
background: $grey-color-dark;
background-image: -webkit-linear-gradient($grey-color-dark 50%, $grey-color-light 50%);
background-image: -moz-linear-gradient($grey-color-dark 50%, $grey-color-light 50%);
@ -187,7 +181,8 @@ table {
border-collapse: collapse;
}
table > thead > tr {}
table > thead > tr {
}
table > thead > tr > th {
background: #293e58;

View file

@ -16,9 +16,9 @@ tags:
<p>Just an idea... not more! A dynamic website like in the 90's, with some little JavaScript sugar. No rocket science... ;)</p>
<p><a href="https://hanez.org" class="ext">hanez.org</a> is an example of using this code. hanez.org uses a lot more code, but I try to port it to xw3.</p>
<p><a href="https://hanez.org" class="ext" target="_blank">hanez.org</a> is an example of using this code. hanez.org uses a lot more code, but I try to port it to xw3.</p>
<p>You can use the Jekyll template even when not using the CGI features or you can use the CGI even when not using the Jekyll template. All you require is the JavaScript library <a href="https://jquery.com/" class="ext">jQuery</a> when using the CGI or you have to implement the interface using your favorite JavaScript library by yourself. When only using the template no JavaScript library is required.</p>
<p>You can use the Jekyll template even when not using the CGI features or you can use the CGI even when not using the Jekyll template. All you require is the JavaScript library <a href="https://jquery.com/" class="ext" target="_blank">jQuery</a> when using the CGI or you have to implement the interface using your favorite JavaScript library by yourself. When only using the template no JavaScript library is required.</p>
<p>This website requires Cookies and JavaScript.</p>
</div>
@ -27,47 +27,47 @@ tags:
<h3>Pros</h3>
<p><ul>
<ul>
<li>Maintainable</li>
<li>Minimal</li>
<li>MIT licensed (All included libs are <a href="https://opensource.org/license/MIT" class="ext">MIT</a> licensed too. The Font is <a href="https://openfontlicense.org/" class="ext">OFL</a> licensed.)</li>
<li>MIT licensed (All included libs are <a href="https://opensource.org/license/MIT" class="ext" target="_blank">MIT</a> licensed too. The Font is <a href="https://openfontlicense.org/" class="ext" target="_blank">OFL</a> licensed.)</li>
<li>No MVC framework bloat</li>
<li>No oversized template parsing</li>
<li>Scalable</li>
</ul></p>
</ul>
<h3>Cons</h3>
<p><ul>
<ul>
<li>Requires JavaScript (Without it would be no fun at all)</li>
</ul></p>
</ul>
<h2>Software used in this project</h2>
<p>Not all of the listed software is required. This is what we use!</p>
<p>Not all of the listed software is required. This is, what we use!</p>
<p><ul>
<li><a href="https://alpinelinux.org/" class="ext">Alpine Linux</a> - A security-oriented, lightweight Linux distribution (Server).</li>
<li><a href="https://artixlinux.org/" class="ext">Artix Linux</a> - A rolling-release distribution, based on Arch Linux. Systemd-free! (Client).</li>
<li><a href="https://www.gnu.org/software/bash/" class="ext">Bash</a> - The <a href="https://www.gnu.org/" class="ext">GNU Project</a>'s shell.</li>
<li><a href="https://quoteunquoteapps.com/courierprime/" class="ext">Courier Prime</a> - It's Courier, just better. The Font used overall in this project.</li>
<li><a href="https://www.docker.com/" class="ext">Docker</a> - Allows you to pack, ship and run any application as a lightweight container.</li>
<li><a href="https://forgejo.org/" class="ext">Forgejo</a> - A free and open source self-hosted lightweight software forge like GitHub.</li>
<li><a href="https://gcc.gnu.org/" class="ext">GCC</a> - The GNU Compiler Collection.</li>
<li><a href="https://git-scm.com/" class="ext">Git</a> - A free and open source distributed version control system.</li>
<li><a href="https://isso-comments.de/" class="ext">Isso</a> - A commenting server similar to Disqus.</li>
<li><a href="https://jekyllrb.com/" class="ext">Jekyll</a> - A simple, blog-aware, static site generator.</li>
<li><a href="https://github.com/js-cookie/js-cookie" class="ext">js-cookie</a> - A simple, lightweight JavaScript API for handling browser cookies.</li>
<li><a href="https://jquery.com/" class="ext">jQuery</a> - A fast, small, and feature-rich JavaScript library.</li>
<li><a href="https://www.lighttpd.net/" class="ext">lighttpd</a> - A secure, fast, compliant, and very flexible web server.</li>
<li><a href="https://kernel.org/" class="ext">Linux</a> - A family of open-source Unix-like operating systems based on the Linux kernel.</li>
<li><a href="https://www.lua.org/" class="ext">Lua</a> - A powerful, efficient, lightweight, embeddable scripting language.</li>
<li><a href="https://www.gnu.org/software/make/" class="ext">Make</a> - A tool which controls the generation of executables and a lot more for automation.</li>
<li><a href="https://github.com/tdewolff/minify" class="ext">Minify</a> - A minifier package which provides HTML5, CSS3, JS, JSON, SVG and XML minifiers.</li>
<li><a href="https://www.perl.org/" class="ext">Perl</a> - A highly capable, feature-rich programming language with over 36 years of development.</li>
<li><a href="https://www.php.net/" class="ext">PHP</a> - A popular general-purpose scripting language for web development.</li>
<li><a href="https://www.python.org/" class="ext">Python</a> - A programming language that lets you work quickly.</li>
<li><a href="https://rsync.samba.org/" class="ext">rsync</a> - An open source utility that provides fast incremental file transfer.</li>
<li><a href="https://www.ruby-lang.org/en/" class="ext">Ruby</a> - A dynamic, open source programming language with a focus on simplicity and productivity.</li>
</ul></p>
<ul>
<li><a href="https://alpinelinux.org/" class="ext" target="_blank">Alpine Linux</a> - A security-oriented, lightweight Linux distribution (Server).</li>
<li><a href="https://artixlinux.org/" class="ext" target="_blank">Artix Linux</a> - A rolling-release distribution, based on Arch Linux. Systemd-free! (Client).</li>
<li><a href="https://www.gnu.org/software/bash/" class="ext" target="_blank">Bash</a> - The <a href="https://www.gnu.org/" class="ext" target="_blank">GNU Project</a>'s shell.</li>
<li><a href="https://quoteunquoteapps.com/courierprime/" class="ext" target="_blank">Courier Prime</a> - It's Courier, just better. The Font used overall in this project.</li>
<li><a href="https://www.docker.com/" class="ext" target="_blank">Docker</a> - Allows you to pack, ship and run any application as a lightweight container.</li>
<li><a href="https://forgejo.org/" class="ext" target="_blank">Forgejo</a> - A free and open source self-hosted lightweight software forge like GitHub.</li>
<li><a href="https://gcc.gnu.org/" class="ext" target="_blank">GCC</a> - The GNU Compiler Collection.</li>
<li><a href="https://git-scm.com/" class="ext" target="_blank">Git</a> - A free and open source distributed version control system.</li>
<li><a href="https://isso-comments.de/" class="ext" target="_blank">Isso</a> - A commenting server similar to Disqus.</li>
<li><a href="https://jekyllrb.com/" class="ext" target="_blank">Jekyll</a> - A simple, blog-aware, static site generator.</li>
<li><a href="https://github.com/js-cookie/js-cookie" class="ext" target="_blank">js-cookie</a> - A simple, lightweight JavaScript API for handling browser cookies.</li>
<li><a href="https://jquery.com/" class="ext" target="_blank">jQuery</a> - A fast, small, and feature-rich JavaScript library.</li>
<li><a href="https://www.lighttpd.net/" class="ext" target="_blank">lighttpd</a> - A secure, fast, compliant, and very flexible web server.</li>
<li><a href="https://kernel.org/" class="ext" target="_blank">Linux</a> - A family of open-source Unix-like operating systems based on the Linux kernel.</li>
<li><a href="https://www.lua.org/" class="ext" target="_blank">Lua</a> - A powerful, efficient, lightweight, embeddable scripting language.</li>
<li><a href="https://www.gnu.org/software/make/" class="ext" target="_blank">Make</a> - A tool which controls the generation of executables and a lot more for automation.</li>
<li><a href="https://github.com/tdewolff/minify" class="ext" target="_blank">Minify</a> - A minifier package which provides HTML5, CSS3, JS, JSON, SVG and XML minifiers.</li>
<li><a href="https://www.perl.org/" class="ext" target="_blank">Perl</a> - A highly capable, feature-rich programming language with over 36 years of development.</li>
<li><a href="https://www.php.net/" class="ext" target="_blank">PHP</a> - A popular general-purpose scripting language for web development.</li>
<li><a href="https://www.python.org/" class="ext" target="_blank">Python</a> - A programming language that lets you work quickly.</li>
<li><a href="https://rsync.samba.org/" class="ext" target="_blank">rsync</a> - An open source utility that provides fast incremental file transfer.</li>
<li><a href="https://www.ruby-lang.org/en/" class="ext" target="_blank">Ruby</a> - A dynamic, open source programming language with a focus on simplicity and productivity.</li>
</ul>