Flarum is down - read in Markdown https://crates.io/crates/flarumdown
Find a file
2026-03-20 06:09:49 +02:00
.github fix branch name 2026-03-19 18:34:10 +02:00
src keep leading \s+url to skip the thumbnail_url match 2026-03-20 05:09:39 +02:00
.gitignore initial commit 2026-03-19 04:56:49 +02:00
Cargo.lock update version 2026-03-20 06:09:49 +02:00
Cargo.toml update version 2026-03-20 06:09:49 +02:00
LICENSE Initial commit 2026-03-19 04:48:15 +02:00
README.md update description 2026-03-20 06:09:36 +02:00

flarumdown

Linux Dependencies crates.io

Flarum is down - read in Markdown

CLI tool for Flarum v2 that allows to export public DB entries into Markdown format.

Important

This extension was created by and for the UANA community forums. This means that it's adapted for our local build first:

  • SQLite driver is in use
  • FoF/upload plugin installed
  • Markdown (only) plugin is enabled
  • Flarum v2 (7 beta)

Install

cargo install flarumdown

Usage

RUST_LOG=warn flarumdown -s '/path/to/flarum.sqlite' \
                         -t '/path/to/target' \
                         -i index \
                         -r http://[202:68d0:f0d5:b88d:1d1a:555e:2f6b:3148] \
                         -r http://[505:6847:c778:61a1:5c6d:e802:d291:8191] \
                         -r http://hc3fycfadz7fkapp62fqi6llioe46fvis6wuswfobl5ghc2u7snq.b32.i2p \
                         -r http://w6vtcpbir5vvokwdqqbqlrdtnzwyfc4iyqn6owxuyjeppszuydutqwqd.onion

rsync

Optionally, delegate -u to rsync by using crontab -e:

#!/bin/bash

mkdir -p /var/www/flarum/public/flarumdown/dump/assets/files

# collect FoF/upload files
readonly RSYNC_FILTER_P="*-thumb.webp"
readonly RSYNC_TARGET_D="/var/www/flarum/public/flarumdown/dump/assets"
find "$RSYNC_TARGET_D" -name "$RSYNC_FILTER_P" -type f -delete # rsync has --filter, cleanup
/usr/bin/rsync -av --delete --filter="-p $RSYNC_FILTER_P" \
		/var/www/flarum/public/assets/files \
		$RSYNC_TARGET_D

# dump the DB
RUST_LOG=warn /usr/local/bin/flarumdown -s /var/www/flarum/flarum.sqlite \
					-t /var/www/flarum/public/flarumdown/dump \
					-i index \
					-r http://[202:68d0:f0d5:b88d:1d1a:555e:2f6b:3148] \
					-r http://[505:6847:c778:61a1:5c6d:e802:d291:8191] \
					-r http://hc3fycfadz7fkapp62fqi6llioe46fvis6wuswfobl5ghc2u7snq.b32.i2p \
					-r http://w6vtcpbir5vvokwdqqbqlrdtnzwyfc4iyqn6owxuyjeppszuydutqwqd.onion

# create .zip file to simply download for offline reading
readonly TARGET_DIR=/var/www/flarum/public/flarumdown/dump
cd "$TARGET_DIR"
if [ "$(pwd)" != "$TARGET_DIR" ]; then
	echo "Unexpected path!"
	exit 1
fi
zip -FS -r -9 /var/www/flarum/public/flarumdown/dump.zip .