Merge pull request #23 from infosiftr/template

Change "./update.sh" to be template-based instead of footer-based
This commit is contained in:
yosifkit 2014-09-15 11:22:13 -06:00
commit 026febae1c
3 changed files with 32 additions and 15 deletions

View File

@ -1,3 +1,8 @@
# Tags and `Dockerfile` links
%%TAGS%%
%%CONTENT%%
# User Feedback # User Feedback

View File

@ -26,9 +26,6 @@ for line in "${lines[@]}"; do
repoDirTags["$repoDir"]+='`'"$tag"'`' repoDirTags["$repoDir"]+='`'"$tag"'`'
done done
echo '# Tags and `Dockerfile` links'
echo
for repoDir in "${repoDirs[@]}"; do for repoDir in "${repoDirs[@]}"; do
if [[ "$repoDir" != *github.com* ]]; then if [[ "$repoDir" != *github.com* ]]; then
# skip non-github.com for now # skip non-github.com for now

View File

@ -9,6 +9,16 @@ if [ ${#repos[@]} -eq 0 ]; then
fi fi
repos=( "${repos[@]%/}" ) repos=( "${repos[@]%/}" )
replace_field() {
repo="$1"
field="$2"
content="$3"
extraSed="${4:-}"
sed_escaped_value="$(echo "$content" | sed 's/[\/&]/\\&/g')"
sed_escaped_value="${sed_escaped_value//$'\n'/\\n}"
sed -ri "s/${extraSed}%%${field}%%${extraSed}/$sed_escaped_value/g" "$repo/README.md"
}
for repo in "${repos[@]}"; do for repo in "${repos[@]}"; do
if [ -x "$repo/update.sh" ]; then if [ -x "$repo/update.sh" ]; then
( set -x; "$repo/update.sh" ) ( set -x; "$repo/update.sh" )
@ -28,24 +38,29 @@ for repo in "${repos[@]}"; do
;; ;;
esac esac
if [ -e "$repo/README-content.md" ]; then if [ -e "$repo/README-content.md" ]; then
mailingList="$(cat "$repo/mailing-list.md" 2>/dev/null | sed 's/[\/&]/\\&/g' || true)" mailingList="$(cat "$repo/mailing-list.md" 2>/dev/null || true)"
if [ "$mailingList" ]; then if [ "$mailingList" ]; then
mailingList=" $mailingList " mailingList=" $mailingList "
else else
mailingList=' ' mailingList=' '
fi fi
( cp -v README-template.md "$repo/README.md"
echo "{ ./generate-dockerfile-links-partial.sh $repo && cat $repo/README-content.md README-footer.md; } > $repo/README.md"
./generate-dockerfile-links-partial.sh "$repo" > $repo/README.md echo ' TAGS => ./generate-dockerfile-links-partial.sh'
cat "$repo/README-content.md" "README-footer.md" >> "$repo/README.md" replace_field "$repo" 'TAGS' "$(./generate-dockerfile-links-partial.sh "$repo")"
set -x
sed -ri ' echo ' CONTENT => '"$repo"'/README-content.md'
s/\s*%%MAILING_LIST%%\s*/'"$mailingList"'/g; replace_field "$repo" 'CONTENT' "$(cat "$repo/README-content.md")"
s!%%REPO%%!'"$gitRepo"'!g;
' "$repo/README.md" echo ' MAILING_LIST => "'"$mailingList"'"'
) replace_field "$repo" 'MAILING_LIST' "$mailingList" '\s*'
echo ' REPO => "'"$gitRepo"'"'
replace_field "$repo" 'REPO' "$gitRepo"
echo
else else
echo "skipping $repo: repo/README-content.md" echo >&2 "skipping $repo: missing repo/README-content.md"
fi fi
done done