Browse Source

Support markdown within gnusocial

Bob Mottram 9 years ago
parent
commit
9b7b89a789
1 changed files with 56 additions and 1 deletions
  1. 56
    1
      src/freedombone

+ 56
- 1
src/freedombone View File

@@ -201,6 +201,8 @@ MICROBLOG_THEME_REPO="https://git.gnu.io/h2p/Qvitter.git"
201 201
 MICROBLOG_THEME_COMMIT='8abbdeb3c0a6a34754411452ae832d2f19cef7ab'
202 202
 MICROBLOG_WELCOME_MESSAGE=$'<h1>Welcome to $MICROBLOG_DOMAIN_NAME – a federated microblog</h1><p>Another Freedombone site</p>'
203 203
 MICROBLOG_BACKGROUND_IMAGE_URL=
204
+MICROBLOG_MARKDOWN_REPO="https://github.com/chimo/gs-markdown"
205
+MICROBLOG_MARKDOWN_COMMIT='184801fba1418548045242f4a55d55c29f6a06da'
204 206
 
205 207
 # Domain name for hubzilla installation
206 208
 HUBZILLA_DOMAIN_NAME=
@@ -8998,7 +9000,7 @@ function install_gnu_social_theme {
8998 9000
         if grep -q "GNU Social theme commit" $COMPLETION_FILE; then
8999 9001
             CURRENT_MICROBLOG_THEME_COMMIT=$(grep "GNU Social theme commit" $COMPLETION_FILE | awk -F ':' '{print $2}')
9000 9002
             if [[ "$CURRENT_MICROBLOG_THEME_COMMIT" != "$MICROBLOG_THEME_COMMIT" ]]; then
9001
-                cd /var/www/$MICROBLOG_DOMAIN_NAME/htdocs/local/plugins
9003
+                cd /var/www/$MICROBLOG_DOMAIN_NAME/htdocs/local/plugins/Qvitter
9002 9004
                 git_pull $MICROBLOG_THEME_REPO $MICROBLOG_THEME_COMMIT
9003 9005
                 sed -i "s/GNU Social theme commit.*/GNU Social theme commit:$MICROBLOG_THEME_COMMIT/g" $COMPLETION_FILE
9004 9006
                 chown -R www-data:www-data /var/www/$MICROBLOG_DOMAIN_NAME/htdocs/local
@@ -9087,6 +9089,58 @@ function install_gnu_social_theme {
9087 9089
     echo 'install_gnu_social_theme' >> $COMPLETION_FILE
9088 9090
 }
9089 9091
 
9092
+function install_gnu_social_markdown {
9093
+    if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
9094
+        return
9095
+    fi
9096
+
9097
+    apt-get -y install pkg-php-tools
9098
+
9099
+    # update to the next commit
9100
+    if grep -q "addPlugin('Markdown'" /var/www/$MICROBLOG_DOMAIN_NAME/htdocs/config.php; then
9101
+        if grep -q "GNU Social Markdown commit" $COMPLETION_FILE; then
9102
+            CURRENT_MICROBLOG_MARKDOWN_COMMIT=$(grep "GNU Social Markdown commit" $COMPLETION_FILE | awk -F ':' '{print $2}')
9103
+            if [[ "$CURRENT_MICROBLOG_MARKDOWN_COMMIT" != "$MICROBLOG_MARKDOWN_COMMIT" ]]; then
9104
+                cd /var/www/$MICROBLOG_DOMAIN_NAME/htdocs/local/plugins/Markdown
9105
+                git_pull $MICROBLOG_MARKDOWN_REPO $MICROBLOG_MARKDOWN_COMMIT
9106
+                sed -i "s/GNU Social Markdown commit.*/GNU Social Markdown commit:$MICROBLOG_MARKDOWN_COMMIT/g" $COMPLETION_FILE
9107
+                chown -R www-data:www-data /var/www/$MICROBLOG_DOMAIN_NAME/htdocs/local
9108
+            fi
9109
+        else
9110
+            echo "GNU Social Markdown commit:$MICROBLOG_MARKDOWN_COMMIT" >> $COMPLETION_FILE
9111
+        fi
9112
+    fi
9113
+
9114
+    if grep -Fxq "install_gnu_social_markdown" $COMPLETION_FILE; then
9115
+        return
9116
+    fi
9117
+
9118
+    if [ ! -d /var/www/$MICROBLOG_DOMAIN_NAME/htdocs/local/plugins ]; then
9119
+        mkdir -p /var/www/$MICROBLOG_DOMAIN_NAME/htdocs/local/plugins
9120
+    fi
9121
+
9122
+    cd /var/www/$MICROBLOG_DOMAIN_NAME/htdocs/local/plugins
9123
+    git_clone $MICROBLOG_MARKDOWN_REPO Markdown
9124
+    cd /var/www/$MICROBLOG_DOMAIN_NAME/htdocs/local/plugins/Markdown
9125
+    git checkout $MICROBLOG_MARKDOWN_COMMIT -b $MICROBLOG_MARKDOWN_COMMIT
9126
+    composer install
9127
+
9128
+    microblog_config_file=/var/www/$MICROBLOG_DOMAIN_NAME/htdocs/config.php
9129
+    if ! grep -q "addPlugin('Markdown'" $microblog_config_file; then
9130
+        echo "" >> $microblog_config_file
9131
+        echo "// Markdown settings" >> $microblog_config_file
9132
+        echo "addPlugin('Markdown', array('parser' => 'gfm'));" >> $microblog_config_file
9133
+    fi
9134
+
9135
+    if ! grep -q "GNU Social Markdown commit" $COMPLETION_FILE; then
9136
+        echo "GNU Social Markdown commit:$MICROBLOG_MARKDOWN_COMMIT" >> $COMPLETION_FILE
9137
+    fi
9138
+
9139
+    chown -R www-data:www-data /var/www/$MICROBLOG_DOMAIN_NAME/htdocs
9140
+
9141
+    echo 'install_gnu_social_markdown' >> $COMPLETION_FILE
9142
+}
9143
+
9090 9144
 function install_hubzilla {
9091 9145
     if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
9092 9146
         return
@@ -10541,6 +10595,7 @@ mark_blog_domain
10541 10595
 install_gnu_social
10542 10596
 expire_gnu_social_posts
10543 10597
 install_gnu_social_theme
10598
+install_gnu_social_markdown
10544 10599
 install_rss_reader
10545 10600
 install_rss_mobile_reader
10546 10601
 install_hubzilla