This is a list of Free Software network services and web applications which can be hosted locally. Selfhosting is the process of locally hosting and managing applications instead of renting from SaaS providers. https://reddit.com/r/selfhosted
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
2.3 KiB

#!/usr/bin/make -f
SHELL = /bin/bash
AWESOME_BOT_OPTIONS = --allow-redirect --request-delay 1 --skip-save-results --allow 202 --white-list flaskbb.org,nitter.net,airsonic.github.io/docs/apps
all: check_all
# run all checks
check_all: check_syntax_full awesome_bot check_github_commit_dates
# check pull requests
check_pr: check_syntax_diff
# check syntax in whole file
check_syntax_full:
node tests/test.js -r README.md
# check syntax in the diff from master to current branch
check_syntax_diff:
git diff origin/master -U0 README.md | grep --perl-regexp --only-matching "(?<=^\+).*" >> temp.md && \
node tests/test.js -r README.md -d temp.md && \
awesome_bot -f temp.md $(AWESOME_BOT_OPTIONS)
# check dead links
# sudo apt install ruby && install --user-install awesome_bot
awesome_bot:
~/.local/share/gem/ruby/2.7.0/bin/awesome_bot -f README.md $(AWESOME_BOT_OPTIONS)
# check date of last commit for github.com repository URLs
check_github_commit_dates:
pip3 install PyGithub
python3 tests/check-github-commit-dates.py
#################################
# update the AUTHORS.md file
contrib:
@mv .github/.mailmap . && printf "|Commits | Author |\n| :---: | --- |\n" > AUTHORS.md && git shortlog -sne | sed -r 's/^\s*([[:digit:]]*?)\s*?(.*?)/|\1|\2|/' >> AUTHORS.md && mv .mailmap .github/.mailmap
# add a new entry
add:
@read -r -p "Software name: " Name && [[ ! -z "$$Name" ]] && \
read -r -p "Homepage/URL: " Url && [[ ! -z "$$Url" ]] && \
read -r -p "Description (max 250 characters, ending with .): " Description && [[ ! -z "$$Description" ]] && \
read -r -p "License: " License && [[ ! -z "$$License" ]] && \
read -r -p "Main server-side language/platform/requirement: " Language && [[ ! -z "$$Language" ]] && \
read -r -p "Demo URL (optional,leave empty): " Demo && \
if [[ "$$Demo" == "" ]]; then CDemo=""; else CDemo="[Demo]($$Demo)"; fi; \
read -r -p "Source code URL (if different from homepage): " Source && \
if [[ "$$Source" == "" ]]; then CSource=""; else CSource="[Source Code]($$Source)"; fi; \
if [[ "$$CSource" == "" && "$$Demo" == "" ]]; then Moreinfo=""; else Moreinfo="($$CDemo $$CSource)"; fi; \
echo "Copy this entry to your clipboard, paste it in the appropriate category:" ;\
echo "- [$$Name]($$Url) - $${Description} $${Moreinfo} \`$$License\` \`$$Language\`"