Compare commits

...

10 commits

14 changed files with 84 additions and 77 deletions

View file

@ -1,18 +1,19 @@
# yes
when:
branch: ['dev', 'stable']
branch: ["dev", "stable"]
event: ["push", "manual"]
steps:
- name: build
image: woodpeckerci/plugin-docker-buildx
secrets: [ gitpat ]
settings:
repo: git.iwakura.rip/hex/disseminate
repo: git.iwakura.rip/hex/jabe
platforms: linux/amd64
dockerfile: Dockerfile
tags: ["${CI_COMMIT_BRANCH}-latest","${CI_COMMIT_BRANCH}-${CI_COMMIT_SHA}"]
tags:
["${CI_COMMIT_BRANCH}-latest", "${CI_COMMIT_BRANCH}-${CI_COMMIT_SHA}"]
username: hex
registry: git.iwakura.rip
registry:
git.iwakura.rip
#insecure: true
password:
password:
from_secret: gitpat

View file

@ -18,7 +18,8 @@ RUN cp -r /tmp/*.json /tmp/build/ && \
cp -r /tmp/src/views /tmp/build/src/ && \
cp -r /tmp/data.template /tmp/build && \
cp -r /tmp/scripts/docker_bootstrapper.sh /tmp/build/bootstrapper.sh && \
cp -r /tmp/scripts/docker_run.sh /tmp/build/runner.sh
cp -r /tmp/scripts/docker_run.sh /tmp/build/runner.sh && \
cp -r /tmp/static /tmp/build/
# The final version of disseminate is now in /tmp/build
@ -39,11 +40,11 @@ RUN deluser node
# We want to run disseminate as a non-root user.
ARG UID=1000
ARG GID=1000
RUN addgroup -g $GID disseminate && \
adduser --home /app --uid $UID -G disseminate --disabled-password disseminate
RUN addgroup -g $GID jabe && \
adduser --home /app --uid $UID -G jabe --disabled-password jabe
# Give our non-root user access to /app
RUN chown -R disseminate:disseminate /app
RUN chown -R jabe:jabe /app
# Installing bash, mostly for debugging.
RUN apk add bash
@ -52,7 +53,7 @@ RUN apk add bash
COPY --chown=$UID:$GID --from=compiled /tmp/build/ /app
RUN chown -R $UID:$GID /app
# Switching to user.
USER disseminate
USER jabe
# Installing the dependencies.
RUN yarn install --production

View file

@ -1,56 +1,37 @@
<h1 align="center">Disseminate</h1>
<h1 align="center">JABE - Just Another Blogging Engine</h1>
<div style="margin:auto;" align="center">
<a href="https://www.buymeacoffee.com/hexlocation" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;"></a>
<a href="https://ci.iwakura.rip/repos/1/branches/stable" target="_blank">
<img src="https://ci.iwakura.rip/api/badges/1/status.svg?branch=stable" alt="status-badge" />
</a>
</div>
## A short introduction
## A short introduction.
*Disseminate* is a blogging platform designed to be lightweight, easy to use & powered by Markdown.
_JABE_ is a blogging platform designed to be lightweight, easy to use & powered by Markdown.
It stems from an issue i've come across, where no blogging platform i could find was:
* easy to deploy.
* has fast loading times.
* simple enough for my -10 iq brain.
## State of Project
Disseminate is a work-in-progress, although it is in a more than usable state.
## Blogs using Disseminate
* [My own :)](https://penhub.nl)
- easy to deploy.
- has fast loading times.
- simple enough for my -10 iq brain.
## Opening an issue.
Registrations are open again! Unfortunately however, i have to manually accept each account.
Please contact me via:
* email (hex@clatter.cc)
* matrix (@hex:penhub.nl)
* telegram (@inimitableX)
* discord (@hex.maybe)
## State of Project
JABE is a work-in-progress, although it is in a more than usable state.
## Blogs using JABE
- [My own :)](https://blog.iwakura.rip)
## To-do
to get your account accepted.
## To-do
- [x] [HIGH] Server-side parsing.
- [x] [MEDIUM] Docker build system.
- [x] [MEDIUM] Proper metadata (title, date etc).
- [x] [MEDIUM] Proper metadata (title, date etc).
- [x] [MEDIUM] **Automated** prebuilt docker images.
- [ ] [LOW] Caching for faster load times.
- [ ] [LOW] Interface for blog management (web ui?).
- [ ] [LOW] Alternative frontend (solution)? (EJS is pretty primitive!)
## License
Disseminate uses the GNU GPLv3 license. The two important points (in my opinion) are as follows:
* Any modifications made to disseminate should be open sourced.
* Any projects forking or using disseminate source code must be released under the same license (GNU GPLv3).
Keep in mind that these two points are important **in my opinion**! Everything stated in the GNU GPLv3 license still applies.
(Paid) themes do *not* have to be open-sourced.
## License
JABE uses the GNU GPLv3 license.

View file

@ -1,13 +1,13 @@
# Welcome to Disseminate!
# Welcome to JABE
Welcome, user! We are glad to have you on board!
To start, find the "posts" directory in the data folder you have created, or mounted using docker.
This is the same directory you put your config file in.
This is the same directory you put your config file in.
Create a file named "hello.md", and start the file with:
Create a file named "hello.md", and start the file with:
```
# [Your Title]
```
Now you can start writing blog posts!
```
Now you can start writing blog posts!

View file

@ -1,5 +1,5 @@
services:
disseminate:
jabe:
build:
context: .
args:

View file

@ -1,8 +1,8 @@
version: '3'
version: "3"
services:
disseminate:
container_name: disseminate
image: git.clatter.cc/hexlocation/disseminate
jabe:
container_name: jabe
image: git.iwakura.rip/hex/jabe:stable-latest
volumes:
- ./data:/app/data # bind mount is recommended.
ports:

2
package-lock.json generated
View file

@ -1,5 +1,5 @@
{
"name": "disseminate",
"name": "JABE",
"lockfileVersion": 3,
"requires": true,
"packages": {

View file

@ -1,4 +1,4 @@
cat << EOF
cat <<EOF
____ ______________ __
/ __ \/ _/ ___/ ___// / docker edition
/ / / // / \__ \\__ \/ / launching bootstrapper...
@ -9,7 +9,7 @@ EOF
if [ -z "$(find data -mindepth 1 -maxdepth 1)" ]; then
echo '[bootstrapper] data directory is empty, copying template.'
cp -r data.template/* data/
chown -R disseminate:disseminate data/
chown -R jabe:jabe data/
fi
# echo "[bootstrapper] checking permissions for data folder"

View file

@ -1,4 +1,4 @@
# Disseminate Build Script
# This script builds disseminate into a docker container, using the dockerfile provided in the repository.
# JABE Build Script
# This script builds jabe into a docker container, using the dockerfile provided in the repository.
docker buildx build --build-arg UID=1000 --build-arg GID=1000 . -t disseminate:latest
docker buildx build --build-arg UID=1000 --build-arg GID=1000 . -t jabe:latest

View file

@ -1,8 +1,8 @@
# Disseminate docker test script
# JABE docker test script
mkdir ignore
cd ignore
docker run --rm -it -p 3024:3024 -v ./data:/app/data disseminate:latest
docker run --rm -it -p 3024:3024 -v ./data:/app/data jabe:latest
cd ..
rm -R ignore

View file

@ -1,7 +1,7 @@
# Disseminate docker test script
# JABE docker test script
mkdir ignore
cd ignore
docker run --rm -it -p 3024:3024 --user 1000:1000 -v ./data:/app/data disseminate:latest /bin/bash
docker run --rm -it -p 3024:3024 --user 1000:1000 -v ./data:/app/data jabe:latest /bin/bash
cd ..
rm ignore

View file

@ -1,3 +1,3 @@
<div id="footer-content">
<a style="color: gray !important; opacity: 30%;" href="https://git.clatter.cc/hexlocation/disseminate">powered by Disseminate</a>
<a style="color: gray !important; opacity: 30%;" href="https://git.iwakura.rip/hex/jabe">powered by JABE</a>
</div>

View file

@ -1,3 +1,3 @@
<div id="footer-content">
<a style="display: none;color: gray !important; opacity: 30%;" href="https://git.clatter.cc/hexlocation/disseminate">powered by Disseminate</a>
<a style="display: none;color: gray !important; opacity: 30%;" href="https://git.iwakura.rip/hex/jabe">powered by JABE</a>
</div>

View file

@ -12,13 +12,35 @@
margin: auto;
width: 50%;
}
code {
blockquote {
margin-left: 0;
padding-left: 10px;
margin-right: 0px;
color: gray;
}
blockquote p {
padding-left: 5px;
<% if(config.hasOwnProperty("themeOpts") && config.themeOpts.hasOwnProperty("accentColor")) { %>
border-left: 3px solid <%= config.themeOpts.accentColor %>;
<% } else { %>
border-left: 3px solid white;
<% } %>
}
blockquote p {
display: inline;
}
code, pre {
font-family: "Source Code Pro";
padding-left: 2px;
padding-right: 2px;
border: 1px #2e2e2e solid;
background-color: #2e2e2e;
border: 1px #111111 solid;
background-color: #111111;
border-radius: 5px;
white-space: pre-wrap;
word-wrap: break-word;
width: auto !important;
left: 0;
right: 0;
}
hr {
color: white;
@ -41,6 +63,8 @@
<% } %>
}
#post-content {
word-wrap: break-word;
white-space: normal;
font-family: "Arial";
}
a {