Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
eda7529
Update dependencies
ilevd Oct 31, 2018
d1fe0a2
Update version sorting
ilevd Oct 31, 2018
fc22755
Fix versions sorting
ilevd Oct 31, 2018
524f77d
Update link-checker version
ilevd Oct 31, 2018
94fa30e
JS: fix admin script
ilevd Oct 31, 2018
d8afd08
Update link-checker version
ilevd Oct 31, 2018
f991bf0
Skype notificatons logging test
ilevd Nov 8, 2018
56ef655
Skype logging test
ilevd Nov 8, 2018
695ef0f
Fix skype notification
ilevd Nov 8, 2018
d17255b
Delete skype test logging
ilevd Nov 8, 2018
2239757
remove skype and slack notifications
rkkmkkfx Mar 12, 2025
293ea3a
fix jdk version in travis
rkkmkkfx Mar 12, 2025
58928f0
replace slack with discord in travis
rkkmkkfx Mar 12, 2025
9fb28b9
Fix webhook URL syntax in Travis config
rkkmkkfx Mar 14, 2025
29b169c
Update worker server IP address
rkkmkkfx Mar 14, 2025
636d7f3
Add known hosts for Travis CI deployment
rkkmkkfx Mar 14, 2025
164a87d
Remove unused known_hosts in deploy script
rkkmkkfx Mar 14, 2025
95771c8
Update ssh_known_hosts format in Travis config
rkkmkkfx Mar 14, 2025
5cf90b3
Update links to AnyChart font and Twitter to X
rkkmkkfx Mar 28, 2025
7a51839
Feat: Add Medium link to footer
rkkmkkfx Mar 28, 2025
e7d942b
Center footer social icons
rkkmkkfx Mar 28, 2025
13fbddc
Style: Improve social icons in footer
rkkmkkfx Mar 28, 2025
8728c89
fix: show numbered release tags (9.x.x) in version list (#2)
rkkmkkfx Oct 9, 2026
3a2ece2
test: cover released-version? for v7/v8 and 9.x.x tags (#4)
rkkmkkfx Oct 9, 2026
6e4a384
ci: deploy with GitHub Actions instead of Travis (#3)
rkkmkkfx Oct 9, 2026
6d0fddb
ci: use the org ANYCHART_BOT_KEY secret for deploy (#5)
rkkmkkfx Oct 9, 2026
d6a5eee
ci: refresh pinned host keys for api-bible-docs and worker (#6)
rkkmkkfx Oct 9, 2026
767447d
chore: merge master into staging
rkkmkkfx Oct 9, 2026
5de1be4
Merge pull request #7 from AnyChart/chore/sync-master-into-staging
rkkmkkfx Oct 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/known_hosts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
104.236.66.244 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBNiDodt9vD6R4Tkj6MjXpwWb1sYr6JMo/b8Aek4cHaPtHuyVWWVIXmF8e7H0oQCzJ4sixTePkjkf6xK31zz+1Y=
104.236.66.244 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrINr29cQcqeVqpaBk36cQBv0tdCZ8SM7RIyW1uUHhxwRRd8RWbjGatLQhXELJGlSMLhrUf1KzfzCmXj/4L/l03TffeSDuGWJpxusTI93knKN+mWT69+IudkvIymQnCjaVio/MDOhwRLfkxE0nFGLdj8MbRJA35w/P6qbzIvwjKkHgw6VkbBS1c/4jEjsshIk+Z4P1GPiSw8lwscB8EjpZbOnhOWDYHaZUEpujdGbeIIKK31T/HSgFznEjZGuJmgLXnIf5+2h+WXrjeMljVVe613PNHrydBaR/7JxmWZIltoXyzL7ZDR9wZUQ47DumyMm07BtpQ+LZRCbeAvK+Smrt
68.183.148.118 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCq8NG9rifxGhkfA2/E4zXluAzMneDy4iSCOoaQkOXL8IugY4gmsIN0XGM40F1/p5CxfLPVLGU6ssT4vblFaCnnbUF6c522NZhIfDKpulJaFHesdmtinyHGkPBSgOWibm0ay2dsMfWOEPc95u0/CA1oeJ/OdNh4bq4jWFbbEndQ9nIBs9wOJxBXrGMHB3GFQhuEG/vU5iqVAlp3CNdpEY4IjGLlfO63pPxEQRc6MDQ7ILr1DuolOly4me4Inh63pb13ARduWHvqqzc7jf2yhnusworUaRIbZJhYKVcoZyJ0DHglh+Y5yIv2tRVEIyL5edY8YPMAb9mxAILr9dpfUFP
68.183.148.118 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNnXWiDC1zD8BL+LkIZfSHeZ87CPLJjHaPRltqDMlHJZXb9icnWH9yAwPu4J58CcxTTQpKVkG96q5PmvM/T1qgA=
73 changes: 73 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Deploy

# Replaces Travis CI. Builds the uberjar, copies it to both engine hosts
# (api-bible-docs web + worker generator) and restarts the supervisor program.
# Requires org secret ANYCHART_BOT_KEY: the anychart-bot private key, authorized
# as root on both hosts (servers-conf SSH_KEYS).

on:
push:
branches: [master, staging, bible]
workflow_dispatch:

concurrency:
group: deploy-${{ github.ref_name }}
cancel-in-progress: false

permissions:
contents: read

env:
HOSTS: "104.236.66.244 68.183.148.118"

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Resolve target app
run: |
case "${GITHUB_REF_NAME}" in
master) echo "APP=docs-prod" >> "$GITHUB_ENV" ;;
staging) echo "APP=docs-stg" >> "$GITHUB_ENV" ;;
bible) echo "APP=bible-stg" >> "$GITHUB_ENV" ;;
*) echo "No deploy target for ${GITHUB_REF_NAME}"; exit 1 ;;
esac

- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "8"

- uses: DeLaGuardo/setup-clojure@13.2
with:
lein: 2.9.8

- uses: actions/cache@v4
with:
path: ~/.m2
key: m2-${{ hashFiles('project.clj') }}
restore-keys: m2-

- name: Build uberjar
run: |
lein uberjar

- name: Install SSH key
env:
ANYCHART_BOT_KEY: ${{ secrets.ANYCHART_BOT_KEY }}
run: |
test -n "$ANYCHART_BOT_KEY" || { echo "ANYCHART_BOT_KEY secret is not set"; exit 1; }
install -d -m 700 ~/.ssh
printf '%s\n' "$ANYCHART_BOT_KEY" > ~/.ssh/id_deploy
chmod 600 ~/.ssh/id_deploy
cp .github/known_hosts ~/.ssh/known_hosts

- name: Copy jar and restart
run: |
SSH_OPTS="-i $HOME/.ssh/id_deploy -o IdentitiesOnly=yes -o BatchMode=yes -o StrictHostKeyChecking=yes"
for host in $HOSTS; do
scp $SSH_OPTS "target/uberjar/wiki-2.0-standalone.jar" "root@${host}:/apps/${APP}/docs-2.0-standalone.jar.new"
ssh $SSH_OPTS "root@${host}" "mv /apps/${APP}/docs-2.0-standalone.jar.new /apps/${APP}/docs-2.0-standalone.jar && supervisorctl restart ${APP} && supervisorctl status ${APP}"
done
19 changes: 15 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
language: clojure
jdk:
- openjdk8
script: lein uberjar
sudo: false
branches:
only:
- master
- staging
- bible
addons:
ssh_known_hosts:
- github.com
- 104.236.66.244
- 68.183.148.118
cache:
directories:
- "$HOME/.m2"
Expand All @@ -19,16 +26,20 @@ after_success:
- if [ "$TRAVIS_BRANCH" == "staging" ]; then export APP="docs-stg"; fi
- if [ "$TRAVIS_BRANCH" == "bible" ]; then export APP="bible-stg"; fi
- echo "Deploying to $SERVER"
- mv .travis/known_hosts ~/.ssh/known_hosts
- mv .travis/id_rsa.pub ~/.ssh/id_rsa.pub
- chmod 400 ~/.ssh/known_hosts
- chmod 400 ~/.ssh/id_rsa
- chmod 400 ~/.ssh/id_rsa.pub
- ssh-add ~/.ssh/id_rsa
- scp target/uberjar/wiki-2.0-standalone.jar root@104.236.66.244:/apps/$APP/docs-2.0-standalone.jar
- scp target/uberjar/wiki-2.0-standalone.jar root@68.183.148.118:/apps/$APP/docs-2.0-standalone.jar
- ssh root@104.236.66.244 "supervisorctl restart $APP"
- ssh root@68.183.148.118 "supervisorctl restart $APP"

notifications:
slack:
secure: GlKpceHLcrwqZ/k3hhYyAkZEE/g6Hrv/I7XwEebXt3sCExalhHP8kDDtQdEJuDlo7juz7c8yN14PCb7QBOJoYs64YR1JhYz4BNGpp4BTdEs3W22rzGJEpmrJNIL2M4YeC5st0F8tmDTcgfL/lt2yiIjyZEXrxmkg0r1HW3OP8F8=
webhooks:
urls:
- $webhook_url
on_start: always
on_success: always
on_failure: always
on_error: always
2 changes: 1 addition & 1 deletion .travis/known_hosts
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
68.183.148.118 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDrtZ80jQmfkMKC1SAmsMrkBsACczPKX92XRhPcHKu7OADjS9J9sj0avbyywH/ViVPh/oQKoAkjRcqlWKge8uYuKM1+usZ4vCSWj1911pp0/tHydvdajtijOVVTs1IyWYb0AmJeauFsvaMrANI6QWul3XE7wpUcegXEIloC4se03UbhFnGwqWkpZgM+07f0bGPljiuO6YZdFUlCg0hVibfo58xEfdNKWClrMr/BFMWZzYz7FBcmyYirwRQ7xx44i6jevb4Ocpg7BsPEiaLVrwItANBONmilQhxh7q/7OolCwOX9x5J0C6oaYsGviejw3MNf9/der4Erjf5pTOP/zY6H
104.131.17.78 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDrtZ80jQmfkMKC1SAmsMrkBsACczPKX92XRhPcHKu7OADjS9J9sj0avbyywH/ViVPh/oQKoAkjRcqlWKge8uYuKM1+usZ4vCSWj1911pp0/tHydvdajtijOVVTs1IyWYb0AmJeauFsvaMrANI6QWul3XE7wpUcegXEIloC4se03UbhFnGwqWkpZgM+07f0bGPljiuO6YZdFUlCg0hVibfo58xEfdNKWClrMr/BFMWZzYz7FBcmyYirwRQ7xx44i6jevb4Ocpg7BsPEiaLVrwItANBONmilQhxh7q/7OolCwOX9x5J0C6oaYsGviejw3MNf9/der4Erjf5pTOP/zY6H
104.236.66.244 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrINr29cQcqeVqpaBk36cQBv0tdCZ8SM7RIyW1uUHhxwRRd8RWbjGatLQhXELJGlSMLhrUf1KzfzCmXj/4L/l03TffeSDuGWJpxusTI93knKN+mWT69+IudkvIymQnCjaVio/MDOhwRLfkxE0nFGLdj8MbRJA35w/P6qbzIvwjKkHgw6VkbBS1c/4jEjsshIk+Z4P1GPiSw8lwscB8EjpZbOnhOWDYHaZUEpujdGbeIIKK31T/HSgFznEjZGuJmgLXnIf5+2h+WXrjeMljVVe613PNHrydBaR/7JxmWZIltoXyzL7ZDR9wZUQ47DumyMm07BtpQ+LZRCbeAvK+Smrt
95 changes: 58 additions & 37 deletions client-new/Gruntfile.js
Original file line number Diff line number Diff line change
@@ -1,63 +1,84 @@
module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-copy');
module.exports = function (grunt) {
grunt.loadNpmTasks("grunt-contrib-less");
grunt.loadNpmTasks("grunt-contrib-uglify");
grunt.loadNpmTasks("grunt-contrib-cssmin");
grunt.loadNpmTasks("grunt-contrib-copy");

grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
pkg: grunt.file.readJSON("package.json"),
less: {
production: {
options: {
paths: ["bower_components/bootstrap/less", "src/less"],
cleancss: true
cleancss: true,
},
files: {
"styles-less.css": "src/less/styles.less"
}
}
"styles-less.css": "src/less/styles.less",
},
},
},
cssmin: {
target: {
files: {
"../resources/public/main.css":
["styles-less.css",
"src/prettify-tomorrow.css"]
}
}
"../resources/public/main.css": [
"styles-less.css",
"src/prettify-tomorrow.css",
],
},
},
},
uglify: {
build: {
files: [{
src: ['bower_components/jquery/dist/jquery.min.js',
//'bower_components/jquery-custom-content-scroller/jquery.mCustomScrollbar.min.js',
'bower_components/bootstrap/dist/js/bootstrap.min.js',
'bower_components/google-code-prettify/bin/prettify.min.js',
'js/*.js'],
dest: '../resources/public/main.min.js'
}, {
src: ['bower_components/jquery/dist/jquery.min.js',
'bower_components/bootstrap/dist/js/bootstrap.min.js',
'bower_components/google-code-prettify/bin/prettify.min.js',
'local_js/*.js'],
dest: '../resources/public/local_main.min.js'
}]
}
files: [
{
src: [
"bower_components/jquery/dist/jquery.min.js",
//'bower_components/jquery-custom-content-scroller/jquery.mCustomScrollbar.min.js',
"bower_components/bootstrap/dist/js/bootstrap.min.js",
"bower_components/google-code-prettify/bin/prettify.min.js",
"js/*.js",
],
dest: "../resources/public/main.min.js",
},
{
src: [
"bower_components/jquery/dist/jquery.min.js",
"bower_components/bootstrap/dist/js/bootstrap.min.js",
"bower_components/google-code-prettify/bin/prettify.min.js",
"local_js/*.js",
],
dest: "../resources/public/local_main.min.js",
},
],
},
},
copy: {
main: {
files: [
{expand: true, flatten: true, src: ["./media/i/*"], dest: '../resources/public/i/'},
{
expand: true,
flatten: true,
src: ["./media/fonts/*", "./bower_components/font-awesome/fonts/*"],
dest: '../resources/public/fonts'
src: ["./media/i/*"],
dest: "../resources/public/i/",
},
{
expand: true,
flatten: true,
src: [
"./media/fonts/*",
"./bower_components/font-awesome/fonts/*",
],
dest: "../resources/public/fonts",
},
]
}
}
],
},
},
});

grunt.registerTask('default', ['less', 'cssmin', 'copy', 'uglify', 'uglify_local'])
grunt.registerTask("default", [
"less",
"cssmin",
"copy",
"uglify" /* , 'uglify_local' */,
]);
};
75 changes: 46 additions & 29 deletions client-new/src/less/styles.less
Original file line number Diff line number Diff line change
Expand Up @@ -1104,37 +1104,54 @@ div.container-fluid .row {
.footer-inner {
margin: 0;
padding: 14px 0 0;
a.soc-network {
display: inline-block;
&:hover, &:focus {
text-decoration: none;
color: #fff;
.soc-network-icon {
border-color: #85caff;
color: #85caff;
}
}
.soc-network-icon {
text-align: center;

.social-icons {
display: grid;
place-content: center;
grid-template-columns: repeat(auto-fit, 28px);
justify-content: space-evenly;
a.soc-network {
display: inline-block;
margin-right: 7px;
vertical-align: middle;
width: 28px;
height: 28px;
text-align: center;
border-radius: 50%;
color: #c3c3c3;
border: 1px solid #c3c3c3;
&.fb {
font-size: 16px;
line-height: 25px;
}
&.tw {
font-size: 17px;
line-height: 26px;

&:hover, &:focus {
text-decoration: none;
color: #fff;
.soc-network-icon {
border-color: #85caff;
color: #85caff;
}
}
&.in {
font-size: 15px;
line-height: 24px;
.soc-network-icon {
display: grid;
place-content: center;
width: 28px;
height: 28px;
border-radius: 50%;
color: #c3c3c3;
border: 1px solid #c3c3c3;
&.fb {
font-size: 16px;

.sn-mini-icon {
position: relative;
top: -1px;
}
}
&.tw {
font-size: 17px;
}
&.in {
font-size: 15px;

.sn-mini-icon {
position: relative;
top: -1px;
}
}
&.md {
font-size: 10px;
}
}
}
}
Expand Down
Loading
Loading