aboutsummaryrefslogtreecommitdiff
path: root/collection/jekyll
diff options
context:
space:
mode:
authorJosh Spicer <josh@joshspicer.com>2022-05-10 01:16:15 +0300
committerGitHub <noreply@github.com>2022-05-10 01:16:15 +0300
commit9efe4b3c4a5f07c45cf6ed69900006eed0e844b9 (patch)
tree1c120109a1794b913a3c71df0a456eb0ad411a54 /collection/jekyll
parent8759124c532d93b6e1ab38e391554d287b956d83 (diff)
init (#1)
* init * some copy pastin * install.sh ref * fixes
Diffstat (limited to 'collection/jekyll')
-rw-r--r--collection/jekyll/feature.json16
-rw-r--r--collection/jekyll/install.sh60
2 files changed, 76 insertions, 0 deletions
diff --git a/collection/jekyll/feature.json b/collection/jekyll/feature.json
new file mode 100644
index 0000000..852aa30
--- /dev/null
+++ b/collection/jekyll/feature.json
@@ -0,0 +1,16 @@
+{
+ "id": "jekyll",
+ "name": "Jekyll",
+ "options": {
+ "version": {
+ "type": "string",
+ "proposals": ["latest"],
+ "default": "latest",
+ "description": "Select or enter a version."
+ }
+ },
+ "install": {
+ "app": "",
+ "file": "install.sh"
+ }
+}
diff --git a/collection/jekyll/install.sh b/collection/jekyll/install.sh
new file mode 100644
index 0000000..53efa82
--- /dev/null
+++ b/collection/jekyll/install.sh
@@ -0,0 +1,60 @@
+#!/usr/bin/env bash
+#-------------------------------------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information.
+#-------------------------------------------------------------------------------------------------------------
+#
+# Docs: https://github.com/microsoft/vscode-dev-containers/blob/main/script-library/docs/hugo.md
+# Maintainer: The VS Code and Codespaces Teams
+#
+# Syntax: ./jekyll-debian.sh [Jekyll version] [Non-root user] [Add rc files flag]
+
+VERSION=${1:-"latest"}
+USERNAME=${2:-"automatic"}
+
+set -e
+
+# If in automatic mode, determine if a user already exists, if not use codespace
+if [ "${USERNAME}" = "auto" ] || [ "${USERNAME}" = "automatic" ]; then
+ USERNAME=""
+ POSSIBLE_USERS=("vscode" "node" "codespace" "$(awk -v val=1000 -F ":" '$3==val{print $1}' /etc/passwd)")
+ for CURRENT_USER in ${POSSIBLE_USERS[@]}; do
+ if id -u ${CURRENT_USER} > /dev/null 2>&1; then
+ USERNAME=${CURRENT_USER}
+ break
+ fi
+ done
+ if [ "${USERNAME}" = "" ]; then
+ USERNAME=codespace
+ fi
+elif [ "${USERNAME}" = "none" ]; then
+ USERNAME=root
+ USER_UID=0
+ USER_GID=0
+fi
+
+# Use sudo to run as non-root user is not already running
+sudoUserIf()
+{
+ if [ "$(id -u)" -eq 0 ] && [ "${USERNAME}" != "root" ]; then
+ sudo -u ${USERNAME} "$@"
+ else
+ "$@"
+ fi
+}
+
+# If we don't yet have Ruby installed, exit.
+if ! /usr/local/rvm/rubies/default/bin/ruby --version > /dev/null ; then
+ echo "You need to install Ruby before installing Jekyll."
+ exit 1
+fi
+
+# If we don't already have Jekyll installed, install it now.
+if ! jekyll --version > /dev/null ; then
+ echo "Installing Jekyll..."
+ if [ "${VERSION}" = "latest" ]; then
+ PATH="/usr/local/rvm/rubies/default/bin:${PATH}" /usr/local/rvm/rubies/default/bin/gem install jekyll
+ else
+ PATH="/usr/local/rvm/rubies/default/bin:${PATH}" /usr/local/rvm/rubies/default/bin/gem install jekyll -v "${VERSION}"
+ fi
+fi