#!/usr/bin/env bash ### ### arching-kaos-tools ### Tools to interact and build an Arching Kaos Infochain ### Copyright (C) 2021 - 2025 kaotisk ### ### This program is free software: you can redistribute it and/or modify ### it under the terms of the GNU General Public License as published by ### the Free Software Foundation, either version 3 of the License, or ### (at your option) any later version. ### ### This program is distributed in the hope that it will be useful, ### but WITHOUT ANY WARRANTY; without even the implied warranty of ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ### GNU General Public License for more details. ### ### You should have received a copy of the GNU General Public License ### along with this program. If not, see . ### ## ## -h, --help Prints this help message" ## index Prints an indexed table of your news files" ## import #TODO" ## add Creates a data file from the news file you point to" ## create Vim is going to pop up, you will write and save your" ## newsletter and it's going to be saved" ## AK_CATEGORIES="$AK_WORKDIR/categories" PROGRAM="ak-module-$(realpath $0 | rev |cut -d '/' -f 2 | rev)" descriptionString="A module for adding and refering zblocks to categories" source $AK_LIBDIR/_ak_log source $AK_LIBDIR/_ak_script source $AK_LIBDIR/_ak_ipfs source $AK_LIBDIR/_ak_gpg source $AK_LIBDIR/_ak_zblock if [ ! -d $AK_CATEGORIES ]; then mkdir $AK_CATEGORIES cd $AK_CATEGORIES _ak_log_info "AK_CATEGORIES created" else _ak_log_info "AK_CATEGORIES found" fi _ak_modules_categories_create(){ TEMP="$(_ak_make_temp_directory)" cd $TEMP export NEWS_FILE="$(date +%Y%m%d_%H%M%S)" vi $NEWS_FILE _ak_log_info "Renaming..." TITLE="$(head -n 1 $NEWS_FILE)" TO_FILE=$NEWS_FILE-$(echo $TITLE | tr '[:upper:]' '[:lower:]' | sed -e 's/ /\_/g' ) IPFS_FILE=$(_ak_ipfs_add $NEWS_FILE) mv $NEWS_FILE $AK_CATEGORIES/$TO_FILE sed -e 's,Qm.*,'"$IPFS_FILE"',g' $AK_CATEGORIES/README _ak_modules_categories_add $AK_CATEGORIES/$TO_FILE cd $AK_CATEGORIES } _ak_modules_categories_index(){ FILES="$(ls -1 $AK_CATEGORIES)" i=0 for FILE in $FILES do DATE=$(echo $FILE | cut -d - -f 1 | awk '{print $1}') TITLE=$(head -n 1 $AK_CATEGORIES/$FILE) echo $i \| $DATE \| $TITLE let i+=1 done } _ak_modules_categories_import(){ echo "#TODO" if [ ! -z $1 ] then if [ ! -d $1 ] then _ak_log_error "Folder does not exists" exit 4 else _ak_log_info "Folder $1 exists" fl="$(ls -1 $1)" for f in $fl do _ak_modules_categories_add $1/$f done fi else _ak_log_error "No value" exit 6 fi exit 224 } _ak_modules_categories_add(){ TEMP="$(_ak_make_temp_directory)" cd $TEMP if [ -f $1 ]; then FILE="$1" _ak_log_info "Adding news from " $FILE DATETIME=$(echo $FILE | cut -d - -f 1 | awk '{print $1}') TITLE=$(head -n 1 $FILE) FILE_IPFS_HASH=$(_ak_ipfs_add $FILE) FILE_SIGN_FILE=$FILE".asc" _ak_gpg_sign_detached $FILE_SIGN_FILE $FILE FILE_SIGNATURE=$(_ak_ipfs_add $FILE_SIGN_FILE) cat > data <