diff --git a/.vscode/settings.json b/.vscode/settings.json index 06fabfeb8d4..8a26b229cbb 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,10 +1,4 @@ { "editor.tabSize": 2, - "beautify.config": { - "indent_size": 2 - }, - "files.associations": { - "*.html": "jekyll" - } } diff --git a/Dockerfile.dev b/Dockerfile.dev new file mode 100644 index 00000000000..88ea5f08cc9 --- /dev/null +++ b/Dockerfile.dev @@ -0,0 +1,18 @@ +FROM ruby:2.6 + +# Set default locale for the environment +ENV LC_ALL C.UTF-8 +ENV LANG en_US.UTF-8 +ENV LANGUAGE en_US.UTF-8 + +# throw errors if Gemfile has been modified since Gemfile.lock +RUN bundle config --global frozen 1 + +WORKDIR /usr/src/app + +COPY Gemfile Gemfile.lock jekyll-text-theme.gemspec ./ +RUN bundle install + +EXPOSE 4000 + +CMD ["bundle", "exec", "jekyll", "help"] \ No newline at end of file diff --git a/Gemfile b/Gemfile index c8ae8010451..1ca3d7c7868 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,4 @@ source "https://rubygems.org" -gem "github-pages", group: :jekyll_plugins - -gem "tzinfo-data" -gem "wdm", "~> 0.1.0" if Gem.win_platform? \ No newline at end of file +# gem "github-pages", group: :jekyll_plugins +gemspec \ No newline at end of file diff --git a/assets/css/main.scss b/assets/css/main.scss index ea832a85de2..44f31bb39ae 100644 --- a/assets/css/main.scss +++ b/assets/css/main.scss @@ -1,8 +1,6 @@ --- # Only the main Sass file needs front matter (the dashes are enough) --- -@charset "utf-8"; - @import diff --git a/docker/docker-compose.build-image.yml b/docker/docker-compose.build-image.yml new file mode 100644 index 00000000000..96cd12aa6e7 --- /dev/null +++ b/docker/docker-compose.build-image.yml @@ -0,0 +1,7 @@ +version: "3.5" + +services: + jekyll-text-theme_dev: + build: + context: ../ + dockerfile: Dockerfile.dev \ No newline at end of file diff --git a/docker/docker-compose.default.yml b/docker/docker-compose.default.yml new file mode 100644 index 00000000000..96bc7750ae2 --- /dev/null +++ b/docker/docker-compose.default.yml @@ -0,0 +1,15 @@ +version: "3.5" + +services: + jekyll-text-theme_dev: + image: docker_jekyll-text-theme_dev + environment: + - JEKYLL_ENV + ports: + - 4000:4000 + container_name: jekyll-TeXt-theme_default + volumes: + - ..:/usr/src/app + stdin_open: true + tty: true + command: bundle exec jekyll serve -H 0.0.0.0 -t diff --git a/docker/docker-compose.demo.yml b/docker/docker-compose.demo.yml new file mode 100644 index 00000000000..fcfdcc3998a --- /dev/null +++ b/docker/docker-compose.demo.yml @@ -0,0 +1,15 @@ +version: "3.5" + +services: + jekyll-text-theme_dev: + image: docker_jekyll-text-theme_dev + environment: + - JEKYLL_ENV + ports: + - 4000:4000 + container_name: jekyll-TeXt-theme_demo + volumes: + - ..:/usr/src/app + stdin_open: true + tty: true + command: bundle exec jekyll serve -H 0.0.0.0 -t --config ./docs/_config.yml diff --git a/docker/docker-compose.dev.yml b/docker/docker-compose.dev.yml new file mode 100644 index 00000000000..1d2d724edce --- /dev/null +++ b/docker/docker-compose.dev.yml @@ -0,0 +1,15 @@ +version: "3.5" + +services: + jekyll-text-theme_dev: + image: docker_jekyll-text-theme_dev + environment: + - JEKYLL_ENV + ports: + - 4000:4000 + container_name: jekyll-TeXt-theme_dev + volumes: + - ..:/usr/src/app + stdin_open: true + tty: true + command: bundle exec jekyll serve -H 0.0.0.0 -t --config ./docs/_config.dev.yml diff --git a/docker/docker-compose.prod.yml b/docker/docker-compose.prod.yml new file mode 100644 index 00000000000..67038626f6d --- /dev/null +++ b/docker/docker-compose.prod.yml @@ -0,0 +1,25 @@ +version: "3.5" + +services: + jekyll-text-theme_build: + image: docker_jekyll-text-theme_dev + environment: + - JEKYLL_ENV + ports: + - 4000:4000 + container_name: jekyll-text-theme_build + volumes: + - ..:/usr/src/app + command: bundle exec jekyll build + jekyll-text-theme_web: + image: nginx + ports: + - 80:80 + - 443:443 + container_name: jekyll-text-theme_web + restart: unless-stopped + volumes: + - ../_site:/usr/share/nginx/html:ro + - ./nginx.conf:/etc/nginx/conf.d/default.conf + depends_on: + - jekyll-text-theme_build \ No newline at end of file diff --git a/docker/nginx.conf b/docker/nginx.conf new file mode 100644 index 00000000000..d0268c3812e --- /dev/null +++ b/docker/nginx.conf @@ -0,0 +1,16 @@ +server { + # gzip config + gzip on; + gzip_min_length 1k; + gzip_comp_level 9; + gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml; + gzip_vary on; + + root /usr/share/nginx/html; + + index index.html; + + location / { + try_files $uri $uri/ =404; + } +} \ No newline at end of file diff --git a/docs/_config.dev.yml b/docs/_config.dev.yml index 07fc2ac66bc..7bfa80ed693 100644 --- a/docs/_config.dev.yml +++ b/docs/_config.dev.yml @@ -287,9 +287,9 @@ defaults: ## => Plugins ############################## plugins: - - jekyll-feed + # - jekyll-feed - jekyll-paginate - - jekyll-sitemap + # - jekyll-sitemap - jemoji data_dir: /docs/_data diff --git a/docs/_config.yml b/docs/_config.yml index 9e1b9bde6ca..9f6a6b7e7b0 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -292,7 +292,6 @@ plugins: - jekyll-feed - jekyll-paginate - jekyll-sitemap - - jekyll-github-metadata - jemoji data_dir: /docs/_data \ No newline at end of file diff --git a/package.json b/package.json index 5368e615b8e..d66c8bf618e 100644 --- a/package.json +++ b/package.json @@ -3,13 +3,22 @@ "version": "2.2.4", "description": "A super customizable Jekyll theme for personal site, team site, blog, project, documentation, etc.", "scripts": { - "build": "bundle exec jekyll build", + "build": "cross-env JEKYLL_ENV=production bundle exec jekyll build", "serve": "bundle exec jekyll serve -H 0.0.0.0", + "Gemfile.lock": "docker run --rm -v \"$PWD\":/usr/src/app -w /usr/src/app ruby:2.6 bundle install", + "docker-dev:build-image": "docker-compose -f ./docker/docker-compose.build-image.yml build", + "docker-dev:default": "docker-compose -f ./docker/docker-compose.default.yml up", + "docker-dev:dev": "docker-compose -f ./docker/docker-compose.dev.yml up", + "docker-dev:demo-dev": "docker-compose -f ./docker/docker-compose.demo.yml up", + "docker-dev:demo-beta": "cross-env JEKYLL_ENV=beta docker-compose -f ./docker/docker-compose.demo.yml up", + "docker-dev:demo-prod": "cross-env JEKYLL_ENV=production docker-compose -f ./docker/docker-compose.demo.yml up", + "docker-prod:build": "cross-env JEKYLL_ENV=production docker-compose -f ./docker/docker-compose.prod.yml build", + "docker-prod:serve": "cross-env JEKYLL_ENV=production docker-compose -f ./docker/docker-compose.prod.yml up", "default": "bundle exec jekyll serve -H 0.0.0.0 -t", "dev": "bundle exec jekyll serve -H 0.0.0.0 -t --config ./docs/_config.dev.yml", "demo-dev": "bundle exec jekyll serve -H 0.0.0.0 -t --config ./docs/_config.yml", - "demo-beta": "JEKYLL_ENV=beta bundle exec jekyll serve -H 0.0.0.0 -t --config ./docs/_config.yml", - "demo-production": "JEKYLL_ENV=production bundle exec jekyll serve -H 0.0.0.0 -t --config ./docs/_config.yml", + "demo-beta": "cross-env JEKYLL_ENV=beta bundle exec jekyll serve -H 0.0.0.0 -t --config ./docs/_config.yml", + "demo-prod": "cross-env JEKYLL_ENV=production bundle exec jekyll serve -H 0.0.0.0 -t --config ./docs/_config.yml", "eslint": "eslint \"_includes/**/*.js\"", "eslint-fix": "eslint \"_includes/**/*.js\" --fix", "stylelint": "stylelint --syntax scss \"_sass/**/*.scss\"", @@ -33,6 +42,7 @@ }, "homepage": "https://github.com/kitian616/jekyll-TeXt-theme", "devDependencies": { + "cross-env": "^5.2.0", "eslint": "^5.4.0", "stylelint": "^9.5.0", "stylelint-config-recommended-scss": "^3.2.0",