Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2922c9982a | ||
|
|
062c105bc1 | ||
|
|
18d77b7279 | ||
|
|
a1cd9897ea | ||
|
|
dad6abee58 | ||
|
|
2672f9b087 | ||
|
|
4315a75a12 | ||
|
|
fc4a7454ad | ||
|
|
87410aea50 | ||
|
|
de98d00a1c | ||
|
|
e94ffd9d79 | ||
|
|
d7aebb784d | ||
|
|
20b8cb939d | ||
|
|
ff4217c3d1 | ||
|
|
4fb72d30d8 | ||
|
|
d2b8fc0bda | ||
|
|
951181628a | ||
|
|
ccee274847 | ||
|
|
967f6728ef | ||
|
|
bf11ffb626 | ||
|
|
c12cabbe4e | ||
|
|
e997594db9 | ||
|
|
6f5e3b395f | ||
|
|
8bf2caf20d | ||
|
|
040021ee0e | ||
|
|
5018a3a848 | ||
|
|
df1c74a91d | ||
|
|
bb3893d36c | ||
|
|
fe57449f6c | ||
|
|
c725adaa09 | ||
|
|
7731bfa4e0 | ||
|
|
e72546aaec | ||
|
|
d6d648f0f4 | ||
|
|
56fddd56f5 | ||
|
|
3c9c350bc0 | ||
|
|
8340a04bd6 | ||
|
|
ccef70fd3d | ||
|
|
0650fa7bbe | ||
|
|
5cffa06385 | ||
|
|
4df17a151e | ||
|
|
c8e314b690 | ||
|
|
3d91f3c235 | ||
|
|
32cd536ada | ||
|
|
0ba523d071 | ||
|
|
314171b2b1 | ||
|
|
909309cc2e | ||
|
|
32b6de0c3a | ||
|
|
7e22e7b67d | ||
|
|
36f0d7450c | ||
|
|
73d958911f | ||
|
|
6b4a2b5406 | ||
|
|
cd8d1c9b10 | ||
|
|
a79fedda77 | ||
|
|
558ef7fbdf | ||
|
|
7c6609a414 |
@@ -2,7 +2,7 @@ name: AppImage Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
branches: [master, 'release/**']
|
||||
pull_request:
|
||||
branches: [master]
|
||||
|
||||
@@ -30,13 +30,13 @@ jobs:
|
||||
gettext \
|
||||
libcanberra-dev libglib2.0-dev \
|
||||
libarchive-dev \
|
||||
libgtk-3-dev \
|
||||
libgtk-3-dev libfontconfig1-dev libpango1.0-dev xvfb xauth dbus-daemon at-spi2-core \
|
||||
libwayland-client0 libwayland-cursor0 libwayland-egl1 \
|
||||
libxkbcommon0 \
|
||||
libgtk-3-bin libglib2.0-bin shared-mime-info gsettings-desktop-schemas \
|
||||
libgtk-3-bin libglib2.0-bin glib-networking shared-mime-info gsettings-desktop-schemas \
|
||||
liblua5.4-dev libpci-dev libperl-dev libssl-dev libayatana-appindicator3-dev \
|
||||
perl python3 python3-minimal python3-dev python3-cffi mono-devel desktop-file-utils \
|
||||
fonts-noto-color-emoji breeze-gtk-theme \
|
||||
breeze-gtk-theme \
|
||||
patchelf file curl
|
||||
|
||||
- name: Configure
|
||||
@@ -56,6 +56,9 @@ jobs:
|
||||
set -eux
|
||||
ninja -C build
|
||||
|
||||
- name: Test emoji catalog, font coverage and picker
|
||||
run: xvfb-run -a dbus-run-session -- meson test -C build --print-errorlogs "Emoji Data Tests" "Emoji Font Tests" "Emoji UI Tests"
|
||||
|
||||
- name: Install to AppDir
|
||||
run: |
|
||||
set -eux
|
||||
@@ -119,15 +122,8 @@ jobs:
|
||||
cp -a /usr/lib/x86_64-linux-gnu/libpython3*.so* AppDir/usr/lib/x86_64-linux-gnu/
|
||||
fi
|
||||
|
||||
if [ -d "/usr/share/gtk-3.0/emoji" ]; then
|
||||
install -d AppDir/usr/share/gtk-3.0
|
||||
cp -a /usr/share/gtk-3.0/emoji AppDir/usr/share/gtk-3.0/
|
||||
fi
|
||||
|
||||
if [ -f "/usr/share/fonts/truetype/noto/NotoColorEmoji.ttf" ]; then
|
||||
install -d AppDir/usr/share/fonts/truetype/noto
|
||||
cp -a /usr/share/fonts/truetype/noto/NotoColorEmoji.ttf AppDir/usr/share/fonts/truetype/noto/
|
||||
fi
|
||||
# Every package ships the pinned font, including portable builds.
|
||||
cmp data/fonts/NotoColorEmoji.ttf AppDir/usr/share/fonts/zoitechat/NotoColorEmoji.ttf
|
||||
|
||||
if [ -d "/usr/lib/x86_64-linux-gnu/gtk-3.0/modules" ]; then
|
||||
install -d AppDir/usr/lib/x86_64-linux-gnu/gtk-3.0
|
||||
@@ -139,6 +135,20 @@ jobs:
|
||||
cp -a /usr/lib/gtk-3.0/modules AppDir/usr/lib/gtk-3.0/
|
||||
fi
|
||||
|
||||
# HTTPS inline-image downloads use GSocketClient TLS on Linux.
|
||||
# GLib provides the API, but TLS and system-proxy support live in
|
||||
# loadable GIO modules shipped by glib-networking. Bundle those
|
||||
# modules so the AppImage does not depend on the host copy.
|
||||
gio_module_dir="$(pkg-config --variable=giomoduledir gio-2.0)"
|
||||
|
||||
test -n "$gio_module_dir"
|
||||
test -f "${gio_module_dir}/libgiognutls.so"
|
||||
install -d "AppDir${gio_module_dir}"
|
||||
cp -a "${gio_module_dir}"/libgio*.so "AppDir${gio_module_dir}/"
|
||||
gio-querymodules "AppDir${gio_module_dir}"
|
||||
test -f "AppDir${gio_module_dir}/libgiognutls.so"
|
||||
test -s "AppDir${gio_module_dir}/giomodule.cache"
|
||||
|
||||
- name: Verify bundled plugins
|
||||
run: |
|
||||
set -eux
|
||||
@@ -192,14 +202,6 @@ jobs:
|
||||
export GTK_PATH="$gtk_path_entries${GTK_PATH:+:$GTK_PATH}"
|
||||
fi
|
||||
|
||||
if [ -d "$APPDIR/etc/fonts" ]; then
|
||||
export FONTCONFIG_SYSROOT="$APPDIR"
|
||||
export FONTCONFIG_PATH="$APPDIR/etc/fonts${FONTCONFIG_PATH:+:$FONTCONFIG_PATH}"
|
||||
if [ -f "$APPDIR/etc/fonts/fonts.conf" ]; then
|
||||
export FONTCONFIG_FILE="$APPDIR/etc/fonts/fonts.conf"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -d "$APPDIR/usr/lib/x86_64-linux-gnu/zoitechat/plugins" ]; then
|
||||
export ZOITECHAT_LIBDIR="$APPDIR/usr/lib/x86_64-linux-gnu/zoitechat/plugins"
|
||||
elif [ -d "$APPDIR/usr/lib/zoitechat/plugins" ]; then
|
||||
@@ -258,6 +260,9 @@ jobs:
|
||||
export PYTHONPATH="$pythonpath_entries${PYTHONPATH:+:$PYTHONPATH}"
|
||||
fi
|
||||
|
||||
# Register the private font without hiding the host's normal fonts.
|
||||
export ZOITECHAT_EMOJI_FONT="${ZOITECHAT_EMOJI_FONT:-$APPDIR/usr/share/fonts/zoitechat/NotoColorEmoji.ttf}"
|
||||
|
||||
# OpenSSL trust store override
|
||||
export SSL_CERT_FILE="${SSL_CERT_FILE:-$APPDIR/etc/ssl/certs/ca-certificates.crt}"
|
||||
export SSL_CERT_DIR="${SSL_CERT_DIR:-$APPDIR/etc/ssl/certs}"
|
||||
|
||||
@@ -2,7 +2,7 @@ name: Flatpak Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
branches: [master, 'release/**']
|
||||
pull_request:
|
||||
branches: [master]
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- 'release/**'
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
@@ -65,9 +66,33 @@ jobs:
|
||||
Download-WithRetry -Url https://github.com/jrsoftware/issrc/releases/download/is-6_7_1/innosetup-6.7.1.exe -OutFile deps\innosetup-unicode.exe
|
||||
& deps\innosetup-unicode.exe /VERYSILENT | Out-Null
|
||||
|
||||
Download-WithRetry -Url https://github.com/ZoiteChat/gvsbuild/releases/download/zoitechat-2.18.1/GTK3_Gvsbuild_zoitechat-2.18.1_x64.zip -OutFile deps\gtk-${{ matrix.arch }}.zip
|
||||
Download-WithRetry -Url https://github.com/ZoiteChat/gvsbuild/releases/download/zoitechat-2.20.0-alpha.1/GTK3_Gvsbuild_zoitechat-2.20.0-alpha.1_x64.zip -OutFile deps\gtk-${{ matrix.arch }}.zip
|
||||
Expand-Archive -LiteralPath deps\gtk-${{ matrix.arch }}.zip -DestinationPath C:\gtk-build\gtk\x64\release -Force
|
||||
|
||||
# The GTK3 archive omits librsvg. Add only its renderer, loader and
|
||||
# license from the companion release, keeping the GTK3 DLLs intact.
|
||||
Download-WithRetry -Url https://github.com/ZoiteChat/gvsbuild/releases/download/zoitechat-2.20.0-alpha.1/GTK4_Gvsbuild_zoitechat-2.20.0-alpha.1_x64.zip -OutFile deps\svg-runtime.zip
|
||||
if ((Get-FileHash deps\svg-runtime.zip -Algorithm SHA256).Hash -ne 'fb657f9ebae3a6807defb15e66091d643a703ee66cb37488e3e11e5646f45adb') {
|
||||
throw 'Unexpected SVG runtime archive checksum'
|
||||
}
|
||||
$svgArchive = [System.IO.Compression.ZipFile]::OpenRead((Resolve-Path deps\svg-runtime.zip))
|
||||
try {
|
||||
foreach ($name in @('bin/rsvg-2-2.dll', 'lib/gdk-pixbuf-2.0/2.10.0/loaders/pixbufloader_svg.dll', 'share/doc/librsvg/COPYING.LIB')) {
|
||||
$entry = $svgArchive.GetEntry($name)
|
||||
if ($null -eq $entry) { throw "Missing SVG runtime file: $name" }
|
||||
$destination = Join-Path 'C:\gtk-build\gtk\x64\release' $name
|
||||
New-Item -ItemType Directory -Path (Split-Path $destination) -Force | Out-Null
|
||||
[System.IO.Compression.ZipFileExtensions]::ExtractToFile($entry, $destination, $true)
|
||||
}
|
||||
}
|
||||
finally { $svgArchive.Dispose() }
|
||||
# This loads the module now, catching missing DLLs before the build.
|
||||
& C:\gtk-build\gtk\x64\release\bin\gdk-pixbuf-query-loaders.exe --update-cache
|
||||
if ($LASTEXITCODE -ne 0) { throw 'Could not generate the pixbuf loader cache' }
|
||||
if (-not (Select-String -LiteralPath 'C:\gtk-build\gtk\x64\release\lib\gdk-pixbuf-2.0\2.10.0\loaders.cache' -SimpleMatch '"svg"')) {
|
||||
throw 'SVG loader could not be loaded with the GTK3 runtime'
|
||||
}
|
||||
|
||||
Download-WithRetry -Url https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-hicolor-icon-theme-0.18-1-any.pkg.tar.zst -OutFile deps\hicolor-icon-theme.pkg.tar.zst
|
||||
python -c "import tarfile,zstandard,pathlib;archive=pathlib.Path(r'deps\\hicolor-icon-theme.pkg.tar.zst');target=pathlib.Path(r'C:\\gtk-build\\gtk\\x64\\release');dctx=zstandard.ZstdDecompressor();f=archive.open('rb');reader=dctx.stream_reader(f);tf=tarfile.open(fileobj=reader,mode='r|');[tf.extract(m,path=target) for m in tf if m.name.startswith('mingw64/share/icons/hicolor/')];tf.close();reader.close();f.close()"
|
||||
|
||||
@@ -173,6 +198,22 @@ jobs:
|
||||
)
|
||||
shell: cmd
|
||||
|
||||
- name: Test emoji catalog, font coverage and picker
|
||||
shell: cmd
|
||||
run: |
|
||||
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
set "PATH=%CD%\..\zoitechat-build\x64\rel;%PATH%"
|
||||
set "GDK_PIXBUF_MODULE_FILE=%CD%\..\zoitechat-build\x64\rel\lib\gdk-pixbuf-2.0\2.10.0\loaders.cache"
|
||||
set "ZOITECHAT_EMOJI_FONT=%CD%\..\zoitechat-build\x64\rel\share\fonts\zoitechat\NotoColorEmoji.ttf"
|
||||
fc /b data\fonts\NotoColorEmoji.ttf "%ZOITECHAT_EMOJI_FONT%"
|
||||
if errorlevel 1 exit /b 1
|
||||
for %%T in (data font ui) do (
|
||||
msbuild win32\emoji-tests.vcxproj /m /verbosity:minimal /p:Configuration=Release /p:Platform=x64 /p:EmojiTestKind=%%T
|
||||
if errorlevel 1 exit /b 1
|
||||
..\zoitechat-build\x64\tests\emoji-%%T-tests.exe --tap
|
||||
if errorlevel 1 exit /b 1
|
||||
)
|
||||
|
||||
- name: Preparing Artifacts
|
||||
run: |
|
||||
move ..\zoitechat-build\${{ matrix.platform }}\ZoiteChat-*.exe .\
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
version: 2
|
||||
sphinx:
|
||||
configuration: 'docs/conf.py'
|
||||
build:
|
||||
os: 'ubuntu-22.04'
|
||||
tools:
|
||||
python: '3.11'
|
||||
@@ -336,3 +336,26 @@ proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
|
||||
|
||||
|
||||
======================================================================
|
||||
ADDITIONAL LICENSE NOTICE
|
||||
======================================================================
|
||||
|
||||
ZoiteChat source code:
|
||||
GPL version 2
|
||||
See Above.
|
||||
|
||||
Unicode Emoji and CLDR data:
|
||||
Unicode License v3
|
||||
data/emoji/LICENSE-UNICODE.txt
|
||||
|
||||
gemoji shortcode data:
|
||||
MIT License
|
||||
Copyright (c) 2019 GitHub, Inc.
|
||||
data/emoji/LICENSE-GEMOJI.txt
|
||||
|
||||
Noto Color Emoji:
|
||||
SIL Open Font License 1.1
|
||||
data/fonts/OFL.txt
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
UNICODE LICENSE V3
|
||||
|
||||
COPYRIGHT AND PERMISSION NOTICE
|
||||
|
||||
Copyright © 1991-2026 Unicode, Inc.
|
||||
|
||||
NOTICE TO USER: Carefully read the following legal agreement. BY
|
||||
DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
|
||||
SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
|
||||
TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT
|
||||
DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of data files and any associated documentation (the "Data Files") or
|
||||
software and any associated documentation (the "Software") to deal in the
|
||||
Data Files or Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, and/or sell
|
||||
copies of the Data Files or Software, and to permit persons to whom the
|
||||
Data Files or Software are furnished to do so, provided that either (a)
|
||||
this copyright and permission notice appear with all copies of the Data
|
||||
Files or Software, or (b) this copyright and permission notice appear in
|
||||
associated Documentation.
|
||||
|
||||
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
THIRD PARTY RIGHTS.
|
||||
|
||||
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
|
||||
BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
|
||||
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA
|
||||
FILES OR SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of a copyright holder shall
|
||||
not be used in advertising or otherwise to promote the sale, use or other
|
||||
dealings in these Data Files or Software without prior written
|
||||
authorization of the copyright holder.
|
||||
@@ -0,0 +1,30 @@
|
||||
# Bundled emoji data
|
||||
|
||||
These are pinned copies of the upstream data files that
|
||||
`tools/gen-emoji-data.py` compiles into ZoiteChat's emoji picker catalog
|
||||
at build time. Bundling them means every ZoiteChat package exposes the
|
||||
same emoji, names, categories and search keywords, independent of the
|
||||
GTK runtime version or the emoji data a distribution installs under
|
||||
`/usr/share/gtk-3.0/emoji`.
|
||||
|
||||
Nothing here affects what is sent over IRC: the picker inserts plain
|
||||
Unicode sequences. Official builds register the bundled Noto Color Emoji
|
||||
font privately for consistent rendering, while preserving platform font
|
||||
fallback if registration is unavailable.
|
||||
|
||||
| File | Source | Version |
|
||||
| ---- | ------ | ------- |
|
||||
| `emoji-test.txt` | [Unicode emoji data](https://unicode.org/Public/emoji/17.0/emoji-test.txt) (mirrored at [unicode-org/unicodetools](https://github.com/unicode-org/unicodetools/blob/main/unicodetools/data/emoji/17.0/emoji-test.txt)) | Emoji 17.0 |
|
||||
| `cldr-annotations-en.xml` | [unicode-org/cldr](https://github.com/unicode-org/cldr/blob/release-48/common/annotations/en.xml) `common/annotations/en.xml` | CLDR release 48 |
|
||||
| `cldr-annotations-derived-en.xml` | [unicode-org/cldr](https://github.com/unicode-org/cldr/blob/release-48/common/annotationsDerived/en.xml) `common/annotationsDerived/en.xml` | CLDR release 48 |
|
||||
| `gemoji.json` | [github/gemoji](https://github.com/github/gemoji/blob/v4.1.0/db/emoji.json) `db/emoji.json` | v4.1.0 |
|
||||
|
||||
The pinned versions are recorded in `VERSIONS`.
|
||||
|
||||
## Licenses
|
||||
|
||||
- `emoji-test.txt`, `cldr-annotations-en.xml`,
|
||||
`cldr-annotations-derived-en.xml`: © Unicode, Inc., distributed under
|
||||
the [Unicode License v3](https://www.unicode.org/license.txt).
|
||||
- `gemoji.json`: from the gemoji project, MIT licensed,
|
||||
© GitHub, Inc.
|
||||
@@ -0,0 +1,6 @@
|
||||
# Pinned versions of the emoji source data in this directory.
|
||||
# Keep in sync with the files themselves; tools/gen-emoji-data.py
|
||||
# verifies unicode-emoji against the emoji-test.txt header.
|
||||
unicode-emoji=17.0
|
||||
cldr=48
|
||||
gemoji=4.1.0
|
||||
@@ -0,0 +1,91 @@
|
||||
Copyright 2013 Google LLC
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
https://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) shall not be
|
||||
used to promote, endorse or advertise any Modified Version, except to
|
||||
acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s)
|
||||
or with their explicit written permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
@@ -0,0 +1,43 @@
|
||||
# Bundled emoji font
|
||||
|
||||
`NotoColorEmoji.ttf` reports Noto Color Emoji version 2.051 and covers
|
||||
Unicode Emoji 17.0. It is vendored from Debian's
|
||||
`fonts-noto-color-emoji` 2.051 package, built from the corresponding
|
||||
Google Noto Emoji release.
|
||||
|
||||
Every GTK build installs this exact file: Windows (installer and portable
|
||||
build files), AppImage, Flatpak and native Meson/RPM builds. It is loaded
|
||||
into a private Pango/FreeType font map as `ZoiteChat Emoji`; an older system
|
||||
Noto font cannot replace it. No font is installed globally on Windows.
|
||||
|
||||
Chat windows and the emoji picker share this map. Fontconfig still loads
|
||||
system fonts and configuration for ordinary text, and the configured text
|
||||
font, size and style remain in effect. In particular, plain digits, `#`
|
||||
and `*` are not assigned emoji metrics.
|
||||
|
||||
Windows uses the same FreeType backend rather than GDI registration or an
|
||||
OS-version-specific picker. The dependency bundle already ships FreeType,
|
||||
Fontconfig and PangoFT2. This rendering path does not require Windows' native
|
||||
color-font support. Actual Windows 7 execution still needs testing on that OS.
|
||||
|
||||
Meson requires PangoFT2 >= 1.44 and Fontconfig >= 2.13. Normal installations
|
||||
load `share/fonts/zoitechat/NotoColorEmoji.ttf` beneath the configured data
|
||||
directory; Windows resolves it relative to the executable. AppImage sets
|
||||
`ZOITECHAT_EMOJI_FONT` to its own copy. For an uninstalled development build:
|
||||
|
||||
```sh
|
||||
ZOITECHAT_EMOJI_FONT="$PWD/data/fonts/NotoColorEmoji.ttf" build/src/fe-gtk/zoitechat
|
||||
```
|
||||
|
||||
A missing/unloadable file logs a warning and retains system-font fallback.
|
||||
CI verifies the installed copy and tests catalog/font coverage; AppImage and
|
||||
Windows also run the interactive picker regression tests. Native themes,
|
||||
DPI and different Pango/Cairo versions can still affect pixel-level output.
|
||||
|
||||
Upstream release: https://github.com/googlefonts/noto-emoji/releases/tag/v2.051
|
||||
|
||||
Vendored file SHA-256:
|
||||
`dac5c27651082d6c53dab5081f50d2022ddf6877d730fa919cf6a4fc2af22de0`
|
||||
|
||||
The font is distributed under the SIL Open Font License 1.1. See
|
||||
`OFL.txt`.
|
||||
@@ -0,0 +1,13 @@
|
||||
emoji_font_dir = join_paths(get_option('datadir'), 'fonts', 'zoitechat')
|
||||
emoji_font_doc_dir = join_paths(get_option('datadir'), 'doc', 'zoitechat', 'fonts')
|
||||
|
||||
install_data(
|
||||
'NotoColorEmoji.ttf',
|
||||
install_dir: emoji_font_dir,
|
||||
)
|
||||
|
||||
install_data(
|
||||
'OFL.txt',
|
||||
'README.md',
|
||||
install_dir: emoji_font_doc_dir,
|
||||
)
|
||||
@@ -3,6 +3,7 @@ if get_option('plugin')
|
||||
endif
|
||||
|
||||
if get_option('gtk-frontend')
|
||||
subdir('fonts')
|
||||
subdir('icons')
|
||||
subdir('misc')
|
||||
subdir('man')
|
||||
|
||||
@@ -2,6 +2,7 @@ appdir = join_paths(get_option('datadir'), 'applications')
|
||||
metainfodir = join_paths(get_option('datadir'), 'metainfo')
|
||||
mimedir = join_paths(get_option('datadir'), 'mime', 'packages')
|
||||
desktop_utils = find_program('desktop-file-validate', required: false)
|
||||
appstreamcli = find_program('appstreamcli', required: false)
|
||||
|
||||
if get_option('gtk-frontend')
|
||||
if get_option('install-appdata')
|
||||
@@ -13,7 +14,6 @@ if get_option('gtk-frontend')
|
||||
install_dir: metainfodir
|
||||
)
|
||||
|
||||
appstreamcli = find_program('appstreamcli', required: false)
|
||||
if appstreamcli.found()
|
||||
test('Validate net.zoite.Zoitechat.appdata.xml', appstreamcli,
|
||||
args: ['validate', zoitechat_appdata]
|
||||
|
||||
@@ -29,6 +29,22 @@
|
||||
<id>zoitechat.desktop</id>
|
||||
</provides>
|
||||
<releases>
|
||||
<release date="2026-09-15" version="2.19.1">
|
||||
<description>
|
||||
<ul>
|
||||
<li>Fixed /msg messages showing twice on servers using IRCv3 <code>echo-message</code>.</li>
|
||||
<li>Fixed escaping a leading command slash so <code>//text</code> sends <code>/text</code> as normal chat.</li>
|
||||
<li>Fixed automatic away clearing when sending messages on servers using <code>echo-message</code>.</li>
|
||||
<li>Fixed other users' away status not updating until rejoining a channel when <code>away-notify</code> updates are missed.</li>
|
||||
<li>Fixed private messages and <code>/me</code> actions being routed to the wrong window when using WeeChat's IRC relay, while preserving channel ACTION routing.</li>
|
||||
<li>Fixed a Flatpak startup error caused by the D-Bus service still using the old HexChat app ID.</li>
|
||||
<li>Fixed optional Windows 10 theme downloads in the Windows installer.</li>
|
||||
<li>Fixed the GTK warning when switching from channel tabs to the channel tree.</li>
|
||||
<li>Fixed GTK3 theme archive root detection so themes with an <code>index.theme</code> file are preferred correctly.</li>
|
||||
<li>Fixed source-build configuration when plugin AppStream metadata installation is disabled, and corrected the minimum Meson version to 0.59.</li>
|
||||
</ul>
|
||||
</description>
|
||||
</release>
|
||||
<release date="2026-07-28" version="2.19.0">
|
||||
<description>
|
||||
<ul>
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
# Source https://coderwall.com/p/wws2uq
|
||||
sudo: false
|
||||
language: python
|
||||
python:
|
||||
- "2.7"
|
||||
cache:
|
||||
pip: true
|
||||
custom_install: true
|
||||
# command to install dependencies
|
||||
install: pip install --upgrade Sphinx
|
||||
# command to run tests
|
||||
script: sphinx-build -n -b html -d _build/doctrees . _build/html
|
||||
# Flags used here, not in `make html`:
|
||||
# -n Run in nit-picky mode. Currently, this generates warnings for all missing references.
|
||||
# -W Turn warnings into errors. This means that the build stops at the first warning and sphinx-build exits with exit status 1.
|
||||
@@ -0,0 +1,94 @@
|
||||
[main]
|
||||
host = https://www.transifex.com
|
||||
type = PO
|
||||
|
||||
[zoitechat-documentation.addons]
|
||||
file_filter = po/<lang>/LC_MESSAGES/addons.po
|
||||
source_file = _build/locale/addons.pot
|
||||
source_lang = en
|
||||
|
||||
[zoitechat-documentation.appearance]
|
||||
file_filter = po/<lang>/LC_MESSAGES/appearance.po
|
||||
source_file = _build/locale/appearance.pot
|
||||
source_lang = en
|
||||
|
||||
[zoitechat-documentation.building]
|
||||
file_filter = po/<lang>/LC_MESSAGES/building.po
|
||||
source_file = _build/locale/building.pot
|
||||
source_lang = en
|
||||
|
||||
[zoitechat-documentation.changelog]
|
||||
file_filter = po/<lang>/LC_MESSAGES/changelog.po
|
||||
source_file = _build/locale/changelog.pot
|
||||
source_lang = en
|
||||
|
||||
[zoitechat-documentation.commands]
|
||||
file_filter = po/<lang>/LC_MESSAGES/commands.po
|
||||
source_file = _build/locale/commands.pot
|
||||
source_lang = en
|
||||
|
||||
#[zoitechat-documentation.developers]
|
||||
#file_filter = po/<lang>/LC_MESSAGES/developers.po
|
||||
#source_file = _build/locale/developers.pot
|
||||
#source_lang = en
|
||||
|
||||
[zoitechat-documentation.faq]
|
||||
file_filter = po/<lang>/LC_MESSAGES/faq.po
|
||||
source_file = _build/locale/faq.pot
|
||||
source_lang = en
|
||||
|
||||
#[zoitechat-documentation.getting_started]
|
||||
#file_filter = po/<lang>/LC_MESSAGES/getting_started.po
|
||||
#source_file = _build/locale/getting_started.pot
|
||||
#source_lang = en
|
||||
|
||||
#[zoitechat-documentation.helping]
|
||||
#file_filter = po/<lang>/LC_MESSAGES/helping.po
|
||||
#source_file = _build/locale/helping.pot
|
||||
#source_lang = en
|
||||
|
||||
#[zoitechat-documentation.index]
|
||||
#file_filter = po/<lang>/LC_MESSAGES/index.po
|
||||
#source_file = _build/locale/index.pot
|
||||
#source_lang = en
|
||||
|
||||
#[zoitechat-documentation.perl_modules]
|
||||
#file_filter = po/<lang>/LC_MESSAGES/perl_modules.po
|
||||
#source_file = _build/locale/perl_modules.pot
|
||||
#source_lang = en
|
||||
|
||||
#[zoitechat-documentation.plugins]
|
||||
#file_filter = po/<lang>/LC_MESSAGES/plugins.po
|
||||
#source_file = _build/locale/plugins.pot
|
||||
#source_lang = en
|
||||
|
||||
#[zoitechat-documentation.script_dbus]
|
||||
#file_filter = po/<lang>/LC_MESSAGES/script_dbus.po
|
||||
#source_file = _build/locale/script_dbus.pot
|
||||
#source_lang = en
|
||||
|
||||
#[zoitechat-documentation.script_javascript]
|
||||
#file_filter = po/<lang>/LC_MESSAGES/script_javascript.po
|
||||
#source_file = _build/locale/script_javascript.pot
|
||||
#source_lang = en
|
||||
|
||||
#[zoitechat-documentation.script_perl]
|
||||
#file_filter = po/<lang>/LC_MESSAGES/script_perl.po
|
||||
#source_file = _build/locale/script_perl.pot
|
||||
#source_lang = en
|
||||
|
||||
#[zoitechat-documentation.script_python]
|
||||
#file_filter = po/<lang>/LC_MESSAGES/script_python.po
|
||||
#source_file = _build/locale/script_python.pot
|
||||
#source_lang = en
|
||||
|
||||
[zoitechat-documentation.settings]
|
||||
file_filter = po/<lang>/LC_MESSAGES/settings.po
|
||||
source_file = _build/locale/settings.pot
|
||||
source_lang = en
|
||||
|
||||
[zoitechat-documentation.tips]
|
||||
file_filter = po/<lang>/LC_MESSAGES/tips.po
|
||||
source_file = _build/locale/tips.pot
|
||||
source_lang = en
|
||||
|
||||
@@ -0,0 +1,157 @@
|
||||
# Makefile for Sphinx documentation
|
||||
#
|
||||
|
||||
# You can set these variables from the command line.
|
||||
SPHINXOPTS =
|
||||
SPHINXBUILD = sphinx-build
|
||||
PAPER =
|
||||
BUILDDIR = _build
|
||||
|
||||
# Internal variables.
|
||||
PAPEROPT_a4 = -D latex_paper_size=a4
|
||||
PAPEROPT_letter = -D latex_paper_size=letter
|
||||
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||
# the i18n builder cannot share the environment and doctrees with the others
|
||||
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||
|
||||
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
|
||||
|
||||
help:
|
||||
@echo "Please use \`make <target>' where <target> is one of"
|
||||
@echo " html to make standalone HTML files"
|
||||
@echo " dirhtml to make HTML files named index.html in directories"
|
||||
@echo " singlehtml to make a single large HTML file"
|
||||
@echo " pickle to make pickle files"
|
||||
@echo " json to make JSON files"
|
||||
@echo " htmlhelp to make HTML files and a HTML help project"
|
||||
@echo " qthelp to make HTML files and a qthelp project"
|
||||
@echo " devhelp to make HTML files and a Devhelp project"
|
||||
@echo " epub to make an epub"
|
||||
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
|
||||
@echo " latexpdf to make LaTeX files and run them through pdflatex"
|
||||
@echo " text to make text files"
|
||||
@echo " man to make manual pages"
|
||||
@echo " texinfo to make Texinfo files"
|
||||
@echo " info to make Texinfo files and run them through makeinfo"
|
||||
@echo " gettext to make PO message catalogs"
|
||||
@echo " changes to make an overview of all changed/added/deprecated items"
|
||||
@echo " linkcheck to check all external links for integrity"
|
||||
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
|
||||
|
||||
clean:
|
||||
-rm -rf $(BUILDDIR)/*
|
||||
|
||||
html:
|
||||
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
|
||||
|
||||
dirhtml:
|
||||
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
|
||||
|
||||
singlehtml:
|
||||
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
|
||||
@echo
|
||||
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
|
||||
|
||||
pickle:
|
||||
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
|
||||
@echo
|
||||
@echo "Build finished; now you can process the pickle files."
|
||||
|
||||
json:
|
||||
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
|
||||
@echo
|
||||
@echo "Build finished; now you can process the JSON files."
|
||||
|
||||
htmlhelp:
|
||||
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
|
||||
@echo
|
||||
@echo "Build finished; now you can run HTML Help Workshop with the" \
|
||||
".hhp project file in $(BUILDDIR)/htmlhelp."
|
||||
|
||||
qthelp:
|
||||
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
|
||||
@echo
|
||||
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
|
||||
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
|
||||
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/ZoiteChat.qhcp"
|
||||
@echo "To view the help file:"
|
||||
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/ZoiteChat.qhc"
|
||||
|
||||
devhelp:
|
||||
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
|
||||
@echo
|
||||
@echo "Build finished."
|
||||
@echo "To view the help file:"
|
||||
@echo "# mkdir -p $$HOME/.local/share/devhelp/ZoiteChat"
|
||||
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/ZoiteChat"
|
||||
@echo "# devhelp"
|
||||
|
||||
epub:
|
||||
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
|
||||
@echo
|
||||
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
|
||||
|
||||
latex:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo
|
||||
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
|
||||
@echo "Run \`make' in that directory to run these through (pdf)latex" \
|
||||
"(use \`make latexpdf' here to do that automatically)."
|
||||
|
||||
latexpdf:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo "Running LaTeX files through pdflatex..."
|
||||
$(MAKE) -C $(BUILDDIR)/latex all-pdf
|
||||
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
||||
|
||||
text:
|
||||
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
|
||||
@echo
|
||||
@echo "Build finished. The text files are in $(BUILDDIR)/text."
|
||||
|
||||
man:
|
||||
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
|
||||
@echo
|
||||
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
|
||||
|
||||
texinfo:
|
||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||
@echo
|
||||
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
|
||||
@echo "Run \`make' in that directory to run these through makeinfo" \
|
||||
"(use \`make info' here to do that automatically)."
|
||||
|
||||
info:
|
||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||
@echo "Running Texinfo files through makeinfo..."
|
||||
make -C $(BUILDDIR)/texinfo info
|
||||
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
|
||||
|
||||
gettext:
|
||||
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
|
||||
@echo
|
||||
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
|
||||
|
||||
changes:
|
||||
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
|
||||
@echo
|
||||
@echo "The overview file is in $(BUILDDIR)/changes."
|
||||
|
||||
linkcheck:
|
||||
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
|
||||
@echo
|
||||
@echo "Link check complete; look for any errors in the above output " \
|
||||
"or in $(BUILDDIR)/linkcheck/output.txt."
|
||||
|
||||
doctest:
|
||||
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
|
||||
@echo "Testing of doctests in the sources finished, look at the " \
|
||||
"results in $(BUILDDIR)/doctest/output.txt."
|
||||
|
||||
server:
|
||||
@cd $(BUILDDIR)/html
|
||||
@python -u -m SimpleHTTPServer
|
||||
@@ -0,0 +1,42 @@
|
||||
# ZoiteChat documentation
|
||||
|
||||
## Getting started
|
||||
|
||||
* Install [Python 3](https://www.python.org/)
|
||||
* Install pip for Python 3
|
||||
* Install Sphinx: `python -m pip install sphinx`
|
||||
* On Windows: ensure your Python 3 installation is on `PATH`
|
||||
* Run `make html` to build the HTML files
|
||||
* Run the Python webserver to test your changes: `make server`
|
||||
(http://localhost:8000/)
|
||||
|
||||
|
||||
## Conventions
|
||||
|
||||
* 4 Spaces are used for indentation.
|
||||
* Ordered or unordered lists use visual indentation, where any non-list
|
||||
subelement would use an indentation of a multiple of 4 again.
|
||||
|
||||
Example:
|
||||
|
||||
```rest
|
||||
- a list item
|
||||
- a list item
|
||||
with a visually indented continuation
|
||||
- a list item with a sub-list
|
||||
|
||||
- that is also visually indented
|
||||
- a list item with a code block
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
that is not visually indented
|
||||
```
|
||||
|
||||
## Read the Docs theme skin
|
||||
|
||||
The HTML output keeps the existing `basicstrap` Sphinx theme, then applies the
|
||||
ZoiteChat main-site skin from `_static/css/zoitechat-docs.css`.
|
||||
|
||||
Brand navigation links are set in `conf.py` through `html_context`, and the
|
||||
header logo uses `_static/zoitechat-logo.svg`.
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 5.0 KiB |
|
After Width: | Height: | Size: 74 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 9.3 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 83 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,362 @@
|
||||
{#
|
||||
basicstrap/layout.html
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Master layout template for Sphinx themes. on Twitter Bootstrap
|
||||
|
||||
:copyright: Copyright 2012 by tell-k.
|
||||
:license: MIT Licence, see LICENSE for details.
|
||||
#}
|
||||
{%- block doctype -%}
|
||||
<!DOCTYPE html>
|
||||
{%- endblock %}
|
||||
{%- set reldelim1 = reldelim1 is not defined and ' »' or reldelim1 %}
|
||||
{%- set reldelim2 = reldelim2 is not defined and ' |' or reldelim2 %}
|
||||
{%- set render_sidebar = (not embedded) and (not theme_nosidebar|tobool) and
|
||||
(sidebars != []) %}
|
||||
{%- set url_root = pathto('', 1) %}
|
||||
{# XXX necessary? #}
|
||||
{%- if url_root == '#' %}{% set url_root = '' %}{% endif %}
|
||||
{%- if not embedded and docstitle %}
|
||||
{%- set titlesuffix = " — "|safe + docstitle|e %}
|
||||
{%- else %}
|
||||
{%- set titlesuffix = "" %}
|
||||
{%- endif %}
|
||||
|
||||
{%- if theme_bootstrap_version == "3" %}
|
||||
{%- set bs_span_prefix = "col-md-" %}
|
||||
{%- set class_device_xs= "xs" %}
|
||||
{%- set class_device_sm= "sm" %}
|
||||
{%- set class_device_md= "md" %}
|
||||
{%- set class_row = "row" %}
|
||||
{%- else %}
|
||||
{%- set bs_span_prefix = "span" %}
|
||||
{%- set class_device_xs= "phone" %}
|
||||
{%- set class_device_sm= "tablet" %}
|
||||
{%- set class_device_md= "desktop" %}
|
||||
{%- if (not theme_row_fixed|tobool) %}
|
||||
{%- set class_row = "row-fluid" %}
|
||||
{%- else %}
|
||||
{%- set class_row = "row" %}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
|
||||
{%- macro relbar() %}
|
||||
<div id="navbar-related" class=" related navbar {% if (theme_relbar_inverse|tobool) %}navbar-inverse{% else %}navbar-default{% endif %}" role="navigation" aria-label="related navigation">
|
||||
<div class="navbar-inner">
|
||||
<ul class="nav navbar-nav {% if theme_noresponsiverelbar|tobool %}text-center{% endif %}">
|
||||
<li><a href="{{ pathto(master_doc) }}">{{ shorttitle|e }}</a></li>
|
||||
</ul>
|
||||
<ul class="nav navbar-nav {% if not theme_noresponsiverelbar|tobool %}pull-right hidden-{{ class_device_xs }} hidden-{{ class_device_sm }}{% else %}text-center{% endif %}">
|
||||
{% if not (theme_nosidebar|tobool) %}
|
||||
{%- for rellink in rellinks|reverse %}
|
||||
<li><a href="{{ pathto(rellink[0]) }}" title="{{ rellink[1]|striptags|e }}" {{ accesskey(rellink[2]) }}>{{ rellink[3] }}</a></li>
|
||||
{%- endfor %}
|
||||
{%- block rootrellink %}
|
||||
{%- endblock %}
|
||||
{%- for parent in parents %}
|
||||
<li><a href="{{ parent.link|e }}" {% if loop.last %}{{ accesskey("U") }}{% endif %}>{{ parent.title }}</a></li>
|
||||
{%- endfor %}
|
||||
<li><a href="#">top</a></li>
|
||||
{%- block relbaritems %} {% endblock %}
|
||||
{% else %}
|
||||
{%- if prev %}
|
||||
<li><a href="{{ prev.link|e }}"><i class="icon icon-double-angle-left"></i> {{ prev.title }}</a></li>
|
||||
{%- endif %}
|
||||
<li><a class="uplink" href="{{ pathto(master_doc) }}">{{ _('Contents') }}</a></li>
|
||||
{%- if next %}
|
||||
<li><a href="{{ next.link|e }}">{{ next.title }} <i class="icon icon-double-angle-right"></i></a></li>
|
||||
{%- endif %}
|
||||
<li><a href="#">top</a></li>
|
||||
{%- endif %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro sidebar() %}
|
||||
{%- if render_sidebar %}
|
||||
<div class="{{ bs_span_prefix }}{{ theme_sidebar_span }} hidden-{{ class_device_xs }}" id="sidebar-wrapper">
|
||||
<div class="sidebar hidden-{{ class_device_xs }}" role="navigation" aria-label="main navigation">
|
||||
{%- block sidebarlogo %}
|
||||
{%- if logo %}
|
||||
<p class="logo"><a href="{{ pathto(master_doc) }}">
|
||||
<img class="logo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo"/>
|
||||
</a></p>
|
||||
{%- endif %}
|
||||
{%- endblock %}
|
||||
|
||||
{%- if sidebars != None %}
|
||||
{#- new style sidebar: explicitly include/exclude templates #}
|
||||
{%- for sidebartemplate in sidebars %}
|
||||
{%- include sidebartemplate %}
|
||||
{%- endfor %}
|
||||
{%- else %}
|
||||
{#- old style sidebars: using blocks -- should be deprecated #}
|
||||
{%- block sidebartoc %}
|
||||
{%- include "localtoc.html" %}
|
||||
{%- endblock %}
|
||||
{%- block sidebarrel %}
|
||||
{%- include "relations.html" %}
|
||||
{%- endblock %}
|
||||
{%- block sidebarsourcelink %}
|
||||
{%- include "sourcelink.html" %}
|
||||
{%- endblock %}
|
||||
{%- if customsidebar %}
|
||||
{%- include customsidebar %}
|
||||
{%- endif %}
|
||||
{%- block sidebarsearch %}
|
||||
{%- include "searchbox.html" %}
|
||||
{%- endblock %}
|
||||
{%- endif %}
|
||||
</div>
|
||||
</div>
|
||||
{%- endif %}
|
||||
{%- endmacro %}
|
||||
|
||||
|
||||
{% set script_files = (['_static/js/jquery.min.js'] if '_static/js/jquery.min.js' not in script_files else []) + script_files + ['_static/js/bootstrap' + theme_bootstrap_version + '.min.js'] %}
|
||||
{%- macro script() %}
|
||||
{%- if '_static/documentation_options.js' not in script_files %}
|
||||
<script type="text/javascript">
|
||||
var DOCUMENTATION_OPTIONS = {
|
||||
URL_ROOT: '{{ url_root }}',
|
||||
VERSION: '{{ release|e }}',
|
||||
COLLAPSE_INDEX: false,
|
||||
FILE_SUFFIX: '{{ '' if no_search_suffix else file_suffix }}',
|
||||
HAS_SOURCE: {{ has_source|lower }}
|
||||
};
|
||||
</script>
|
||||
{%- endif %}
|
||||
{%- for scriptfile in script_files %}
|
||||
{%- if scriptfile is string -%}
|
||||
<script src="{{ pathto(scriptfile, 1) }}"></script>
|
||||
{%- else -%}
|
||||
{{ js_tag(scriptfile) }}
|
||||
{%- endif -%}
|
||||
{%- endfor %}
|
||||
<script type="text/javascript" src="{{ pathto('_static/js/jquery.cookie.min.js', 1) }}"></script>
|
||||
<script type="text/javascript" src="{{ pathto('_static/js/basicstrap.js', 1) }}"></script>
|
||||
<script type="text/javascript">
|
||||
DOCUMENTATION_OPTIONS.FILE_SUFFIX = DOCUMENTATION_OPTIONS.FILE_SUFFIX || '.html';
|
||||
DOCUMENTATION_OPTIONS.LINK_SUFFIX = DOCUMENTATION_OPTIONS.LINK_SUFFIX || '.html';
|
||||
</script>
|
||||
{%- endmacro %}
|
||||
|
||||
{%- macro css() %}
|
||||
{%- if (theme_googlewebfont|tobool) %}
|
||||
<link rel="stylesheet" href="{{ pathto(theme_googlewebfont_url, 1) }}" media="screen and (min-width:481px)" type="text/css" />
|
||||
{%- endif %}
|
||||
|
||||
<link rel="stylesheet" href="{{ pathto('_static/css/basicstrap-base.css', 1) }}" type="text/css" />
|
||||
|
||||
{%- if (theme_inner_theme|tobool) %}
|
||||
<link rel="stylesheet" id="current-theme" href="{{ pathto('_static/css/bootstrap' + theme_bootstrap_version + '/' + theme_inner_theme_name + '.css', 1) }}" type="text/css" />
|
||||
<link rel="stylesheet" id="current-adjust-theme" href="{{ pathto('_static/css/adjust_theme/' + theme_inner_theme_name + '.css', 1) }}" type="text/css" />
|
||||
{%- else %}
|
||||
<link rel="stylesheet" id="current-theme" href="{{ pathto('_static/css/bootstrap' + theme_bootstrap_version + '/bootstrap.min.css', 1) }}" type="text/css" />
|
||||
<link rel="stylesheet" id="current-adjust-theme" type="text/css" />
|
||||
{%- endif %}
|
||||
|
||||
{%- if theme_bootstrap_version == "3" and theme_noflatdesign|tobool %}
|
||||
<link rel="stylesheet" href="{{ pathto('_static/css/bootstrap' + theme_bootstrap_version + '/bootstrap-theme.min.css', 1) }}" type="text/css" />
|
||||
{%- endif %}
|
||||
|
||||
<link rel="stylesheet" href="{{ pathto('_static/css/font-awesome.min.css', 1) }}">
|
||||
{% if (theme_nav_fixed_top|tobool) %}
|
||||
<style type="text/css">
|
||||
body {
|
||||
{%- if theme_bootstrap_version == "3" %}
|
||||
padding-top: 60px;
|
||||
padding-bottom: 40px;
|
||||
{%- else %}
|
||||
padding-top: 60px;
|
||||
padding-bottom: 40px;
|
||||
{%- endif %}
|
||||
}
|
||||
</style>
|
||||
{% endif %}
|
||||
<link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" />
|
||||
{%- if (not theme_noresponsive|tobool) and theme_bootstrap_version == "2" %}
|
||||
<link rel="stylesheet" href="{{ pathto('_static/css/bootstrap2/bootstrap-responsive.min.css', 1) }}" type="text/css" />
|
||||
{%- endif %}
|
||||
|
||||
{%- if theme_noresponsive|tobool and theme_bootstrap_version == "3" %}
|
||||
<link rel="stylesheet" href="{{ pathto('_static/css/bootstrap3/bootstrap-non-responsive.css', 1) }}" type="text/css" />
|
||||
{%- endif %}
|
||||
|
||||
{# Keep project CSS last so Bootstrap/basicstrap cannot re-float or resize the docs columns. #}
|
||||
{%- for cssfile in css_files %}
|
||||
{%- if cssfile is string -%}
|
||||
<link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" />
|
||||
{%- else -%}
|
||||
{{ css_tag(cssfile) }}
|
||||
{%- endif -%}
|
||||
{%- endfor %}
|
||||
|
||||
{%- endmacro %}
|
||||
|
||||
<html lang="{{ theme_lang }}">
|
||||
<head>
|
||||
<meta charset="{{ encoding }}" />
|
||||
{{ metatags }}
|
||||
{%- block htmltitle %}
|
||||
<title>{{ title|striptags|e }}{{ titlesuffix }}</title>
|
||||
{%- endblock %}
|
||||
|
||||
{%- if theme_noresponsive|tobool and theme_bootstrap_version == "3" %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
{%- endif %}
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
{{ css() }}
|
||||
{%- if not embedded %}
|
||||
{{ script() }}
|
||||
{%- if use_opensearch %}
|
||||
<link rel="search" type="application/opensearchdescription+xml"
|
||||
title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}"
|
||||
href="{{ pathto('_static/opensearch.xml', 1) }}"/>
|
||||
{%- endif %}
|
||||
{%- if favicon %}
|
||||
<link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}"/>
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
{%- block linktags %}
|
||||
{%- if hasdoc('about') %}
|
||||
<link rel="author" title="{{ _('About these documents') }}" href="{{ pathto('about') }}" />
|
||||
{%- endif %}
|
||||
{%- if hasdoc('genindex') %}
|
||||
<link rel="index" title="{{ _('Index') }}" href="{{ pathto('genindex') }}" />
|
||||
{%- endif %}
|
||||
{%- if hasdoc('search') %}
|
||||
<link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}" />
|
||||
{%- endif %}
|
||||
{%- if hasdoc('copyright') %}
|
||||
<link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" />
|
||||
{%- endif %}
|
||||
<link rel="top" title="{{ docstitle|e }}" href="{{ pathto('index') }}" />
|
||||
{%- if parents %}
|
||||
<link rel="up" title="{{ parents[-1].title|striptags|e }}" href="{{ parents[-1].link|e }}" />
|
||||
{%- endif %}
|
||||
{%- if next %}
|
||||
<link rel="next" title="{{ next.title|striptags|e }}" href="{{ next.link|e }}" />
|
||||
{%- endif %}
|
||||
{%- if prev %}
|
||||
<link rel="prev" title="{{ prev.title|striptags|e }}" href="{{ prev.link|e }}" />
|
||||
{%- endif %}
|
||||
{%- endblock %}
|
||||
{%- block extrahead %} {% endblock %}
|
||||
</head>
|
||||
<body role="document">
|
||||
|
||||
{%- block header %}
|
||||
<header id="navbar-top" class="site-header" role="banner">
|
||||
<div class="shell nav-shell">
|
||||
<a class="brand" href="https://zoitechat.org/" aria-label="ZoiteChat home">
|
||||
<img class="brand-logo" src="{{ pathto('_static/zoitechat-logo.svg', 1) }}" alt="" width="44" height="48">
|
||||
<span class="brand-text">ZoiteChat</span>
|
||||
</a>
|
||||
<nav class="site-nav" aria-label="Primary">
|
||||
<a href="https://zoitechat.org/">Home</a>
|
||||
<a href="https://zoitechat.org/addons.php">Addons</a>
|
||||
<a href="https://zoitechat.org/download.php">Download</a>
|
||||
<a href="{{ pathto(master_doc) }}">Docs</a>
|
||||
<a href="https://github.com/ZoiteChat/zoitechat" target="_blank" rel="noopener">GitHub</a>
|
||||
<details class="nav-menu">
|
||||
<summary>IRC Support</summary>
|
||||
<div class="nav-menu-panel" aria-label="IRC support channels">
|
||||
<a href="https://zoite.net/webchat/?join=%23zoitechat" target="_blank" rel="noopener">
|
||||
<strong>Zoite IRC</strong>
|
||||
<span>Official network, #zoitechat</span>
|
||||
</a>
|
||||
<a href="https://web.libera.chat/#zoitechat" target="_blank" rel="noopener">
|
||||
<strong>Libera.Chat</strong>
|
||||
<span>Secondary support channel, #zoitechat</span>
|
||||
</a>
|
||||
</div>
|
||||
</details>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
{% endblock %}
|
||||
|
||||
<!-- container -->
|
||||
<div class="{% if (not theme_content_fixed|tobool) %}container-fluid{% else %}container{% endif %} docs-shell">
|
||||
|
||||
<!-- row -->
|
||||
<div class="{{ class_row }} docs-main-row">
|
||||
{%- block content %}
|
||||
|
||||
{%- block sidebar1 %}
|
||||
{% if (not theme_rightsidebar|tobool) %} {{ sidebar() }} {% endif %}
|
||||
{% endblock %}
|
||||
|
||||
<div class="{% if (not theme_nosidebar|tobool) %}{{ bs_span_prefix }}{{ 12 - theme_sidebar_span|int }}{% else %}{{ bs_span_prefix }}12{% endif %}" id="content-wrapper">
|
||||
<div class="document" role="main">
|
||||
{%- block document %}
|
||||
<div class="documentwrapper">
|
||||
{%- if render_sidebar %}
|
||||
<div class="bodywrapper">
|
||||
{%- endif %}
|
||||
<div class="body">
|
||||
{% block body %} {% endblock %}
|
||||
</div>
|
||||
{%- if render_sidebar %}
|
||||
</div>
|
||||
{%- endif %}
|
||||
</div>
|
||||
{%- endblock %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{%- block sidebar2 %}
|
||||
{% if (theme_rightsidebar|tobool) %} {{ sidebar() }} {% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{%- endblock %}{# /content block #}
|
||||
</div><!-- /row -->
|
||||
|
||||
<!-- row -->
|
||||
<div class="{{ class_row }} footer-relbar">
|
||||
{%- block relbar2 %}{{ relbar() }}{% endblock %}
|
||||
</div><!-- /row -->
|
||||
|
||||
<!-- footer -->
|
||||
{%- block footer %}
|
||||
<footer class="site-footer" role="contentinfo">
|
||||
<div class="shell footer-grid">
|
||||
<div>
|
||||
<div class="footer-brand-wrap">
|
||||
<img class="footer-logo" src="{{ pathto('_static/zoitechat-logo.svg', 1) }}" alt="" width="40" height="44">
|
||||
<div class="footer-brand">ZoiteChat</div>
|
||||
</div>
|
||||
<p class="footer-copy">ZoiteChat is a HexChat fork, carrying that client lineage forward with care. Built on the foundation HexChat left behind, and grateful to the project and people that made it possible.</p>
|
||||
</div>
|
||||
<div class="footer-links">
|
||||
<a href="https://zoitechat.org/download.php">Download</a>
|
||||
<a href="https://zoitechat.org/addons.php">Addons</a>
|
||||
<a href="https://zoitechat.org/privacy.php">Privacy Policy</a>
|
||||
<a href="{{ pathto(master_doc) }}">Documentation</a>
|
||||
<a href="https://github.com/ZoiteChat/zoitechat" target="_blank" rel="noopener">Source code</a>
|
||||
<a href="https://zoite.net/webchat/?join=%23zoitechat" target="_blank" rel="noopener">Official IRC support</a>
|
||||
<a href="https://web.libera.chat/#zoitechat" target="_blank" rel="noopener">Libera IRC support</a>
|
||||
</div>
|
||||
<div class="footer-meta">
|
||||
<div>Documentation source: Read the Docs / Sphinx</div>
|
||||
<div>Theme skin: ZoiteChat main site</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
{%- endblock %}
|
||||
<!-- /footer -->
|
||||
|
||||
</div>
|
||||
<!-- /container -->
|
||||
|
||||
{%- if theme_theme_preview|tobool %}
|
||||
{%- include "_theme_preview.html" %}
|
||||
{%- endif %}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,63 @@
|
||||
{#
|
||||
basicstrap/search.html
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Template for the search page.
|
||||
|
||||
:copyright: Copyright 2012 by tell-k.
|
||||
:license: MIT Licence, see LICENSE for details.
|
||||
#}
|
||||
{% extends "layout.html" %}
|
||||
{% set title = _('Search') %}
|
||||
{% set script_files = script_files + (['_static/language_data.js'] if '_static/language_data.js' not in script_files else []) + ['_static/searchtools.js'] %}
|
||||
{% block extrahead %}
|
||||
<script type="text/javascript">
|
||||
jQuery(function() { Search.loadIndex("{{ pathto('searchindex.js', 1) }}"); });
|
||||
</script>
|
||||
{{ super() }}
|
||||
{% endblock %}
|
||||
{% block body %}
|
||||
<h1 id="search-documentation">{{ _('Search') }}</h1>
|
||||
<div id="fallback" class="admonition warning">
|
||||
<script type="text/javascript">$('#fallback').hide();</script>
|
||||
<p>
|
||||
{% trans %}Please activate JavaScript to enable the search
|
||||
functionality.{% endtrans %}
|
||||
</p>
|
||||
</div>
|
||||
<p>
|
||||
{% trans %}From here you can search these documents. Enter your search
|
||||
words into the box below and click "search". Note that the search
|
||||
function will automatically search for all of the words. Pages
|
||||
containing fewer words won't appear in the result list.{% endtrans %}
|
||||
</p>
|
||||
<form class="form-search form-inline" action="" method="get">
|
||||
<div class="input-append input-group">
|
||||
<input type="text" class="search-query form-control" name="q" value="" placeholder="Search...">
|
||||
<span class="input-group-btn">
|
||||
<input type="submit" class="btn" value="{{ _('search') }}" />
|
||||
</span>
|
||||
</div>
|
||||
<span id="search-progress" style="padding-left: 10px"></span>
|
||||
</form>
|
||||
|
||||
<div role="main">
|
||||
{% if search_performed %}
|
||||
<h2>{{ _('Search Results') }}</h2>
|
||||
{% if not search_results %}
|
||||
<p>{{ _('Your search did not match any results.') }}</p>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<div id="search-results">
|
||||
{% if search_results %}
|
||||
<ul>
|
||||
{% for href, caption, context in search_results %}
|
||||
<li><a href="{{ pathto(href) }}">{{ caption }}</a>
|
||||
<div class="context">{{ context|e }}</div>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,27 @@
|
||||
{#
|
||||
basicstrap/searchbox.html
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Sphinx sidebar template: quick search box.
|
||||
|
||||
:copyright: Copyright 2012 by tell-k.
|
||||
:license: MIT Licence, see LICENSE for details.
|
||||
#}
|
||||
{%- if pagename != "search" %}
|
||||
<div id="searchbox" role="search">
|
||||
<h3>{{ _('Quick search') }}</h3>
|
||||
<form class="search form-inline" action="{{ pathto('search') }}" method="get">
|
||||
<div class="input-append input-group">
|
||||
<input type="text" class="search-query form-control" name="q" placeholder="Search...">
|
||||
<span class="input-group-btn">
|
||||
<input type="submit" class="btn" value="{{ _('Go') }}" />
|
||||
</span>
|
||||
</div>
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
<p class="searchtip" style="font-size: 90%">
|
||||
{{ _('Enter search terms or a module, class or function name.') }}
|
||||
</p>
|
||||
</div>
|
||||
{%- endif %}
|
||||
@@ -0,0 +1,38 @@
|
||||
{#
|
||||
basicstrap/searchresults.html
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Template for the body of the search results page.
|
||||
|
||||
:copyright: Copyright 2012 by tell-k.
|
||||
:license: MIT Licence, see LICENSE for details.
|
||||
#}
|
||||
<h1 id="search-documentation">Search</h1>
|
||||
<p>
|
||||
From here you can search these documents. Enter your search
|
||||
words into the box below and click "search".
|
||||
</p>
|
||||
<form class="form-search" action="" method="get">
|
||||
<div class="input-append">
|
||||
<input type="text" class="search-query" name="q">
|
||||
<input type="submit" class="btn" value="{{ _('search') }}" />
|
||||
</div>
|
||||
<span id="search-progress" style="padding-left: 10px"></span>
|
||||
</form>
|
||||
{%- if search_performed %}
|
||||
<h2>Search Results</h2>
|
||||
{%- if not search_results %}
|
||||
<p>Your search did not match any results.</p>
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
<div id="search-results">
|
||||
{%- if search_results %}
|
||||
<ul class="search">
|
||||
{% for href, caption, context in search_results %}
|
||||
<li><a href="{{ docroot }}{{ href }}/?highlight={{ q }}">{{ caption }}</a>
|
||||
<div class="context">{{ context|e }}</div>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{%- endif %}
|
||||
</div>
|
||||
@@ -0,0 +1,67 @@
|
||||
|
||||
/* Table
|
||||
---------------------------------------------------------*/
|
||||
|
||||
table.docutils {
|
||||
border-color: {{ table_border_color }};
|
||||
}
|
||||
table.docutils th,
|
||||
table.docutils td
|
||||
{
|
||||
border-color: {{ table_border_color }};
|
||||
}
|
||||
table.docutils tbody + tbody {
|
||||
border-color: {{ table_border_color }};
|
||||
}
|
||||
|
||||
/* Table-bordered
|
||||
---------------------------------------------------------*/
|
||||
|
||||
table.table-bordered {
|
||||
border-color: {{ table_border_color }};
|
||||
}
|
||||
|
||||
/* -- admonition -- */
|
||||
div.admonition {
|
||||
color: {{ warning_color }};
|
||||
background-color: {{ warning_background_color }};
|
||||
border-color: {{ warning_border_color }};
|
||||
}
|
||||
|
||||
/* -- danger, error -- */
|
||||
div.danger,
|
||||
div.error {
|
||||
color: {{ danger_color }};
|
||||
background-color: {{ danger_background_color }};
|
||||
border-color: {{ danger_border_color }};
|
||||
}
|
||||
|
||||
/* -- warning, caution, attention -- */
|
||||
div.warning,
|
||||
div.caution,
|
||||
div.attention {
|
||||
color: {{ warning_color }};
|
||||
background-color: {{ warning_background_color }};
|
||||
border-color: {{ warning_border_color }};
|
||||
}
|
||||
|
||||
/* -- note, important -- */
|
||||
div.note,
|
||||
div.important {
|
||||
color: {{ note_color }};
|
||||
background-color: {{ note_background_color }};
|
||||
border-color: {{ note_border_color }};
|
||||
}
|
||||
|
||||
/* -- hint, tip -- */
|
||||
div.hint,
|
||||
div.tip {
|
||||
color: {{ hint_color }};
|
||||
background-color: {{ hint_background_color }};
|
||||
border-color: {{ hint_border_color }};
|
||||
}
|
||||
|
||||
div.topic {
|
||||
background-color: {{ table_oddrow_color }};
|
||||
border-color: {{ table_border_color }};
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
{% set table_border_color = "#357279" %}
|
||||
|
||||
{% set danger_color = "rgba(255, 255, 255, 0.9)" %}
|
||||
{% set danger_background_color = "#d5b321" %}
|
||||
{% set danger_border_color = "#d5b321" %}
|
||||
|
||||
{% set warning_color = "rgba(255, 255, 255, 0.9)" %}
|
||||
{% set warning_background_color = "#df6e1e" %}
|
||||
{% set warning_border_color = "#df6e1e" %}
|
||||
|
||||
{% set note_color = "rgba(255, 255, 255, 0.9)" %}
|
||||
{% set note_background_color = "#48ca3b" %}
|
||||
{% set note_border_color = "#48ca3b" %}
|
||||
|
||||
{% set hint_color = "rgba(255, 255, 255, 0.9)" %}
|
||||
{% set hint_background_color = "#4d3a7d" %}
|
||||
{% set hint_border_color = "#4d3a7d" %}
|
||||
|
||||
{% include "static/css/adjust_theme/_common_adjust.css" %}
|
||||
|
||||
/* Heading
|
||||
---------------------------------------------------------*/
|
||||
|
||||
h2, h3, h4, h5, h6 {
|
||||
border-bottom: 1px solid #00747d !important;
|
||||
}
|
||||
|
||||
/* Contents
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.contents {
|
||||
background-color: #00747d;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Genindex
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.genindex-jumpbox {
|
||||
color: #00747d;
|
||||
border-top: 1px solid #00747d;
|
||||
border-bottom: 1px solid #00747d;
|
||||
}
|
||||
|
||||
/* Smartphone Local Toc
|
||||
---------------------------------------------------------*/
|
||||
|
||||
ul.sp-localtoc ul a{
|
||||
color: #ffffff;
|
||||
}
|
||||
ul.sp-localtoc ul a:hover{
|
||||
background-color: #d92432;
|
||||
color: #ffffff;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a{
|
||||
color: #ffffff;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a:hover{
|
||||
background-color: #e5c953;
|
||||
color: #ffffff;
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
{% set table_border_color = "#dddddd" %}
|
||||
|
||||
{% include "static/css/adjust_theme/_common_adjust.css" %}
|
||||
|
||||
/* Heading
|
||||
---------------------------------------------------------*/
|
||||
|
||||
h2, h3, h4, h5, h6 {
|
||||
border-bottom: 1px solid #eeeeee !important;
|
||||
}
|
||||
|
||||
/* Contents
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.contents {
|
||||
background-color: #eeeeee;
|
||||
border: 1px solid #eeeeee;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Genindex
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.genindex-jumpbox {
|
||||
color: #eeeeee;
|
||||
border-top: 1px solid #eeeeee;
|
||||
border-bottom: 1px solid #eeeeee;
|
||||
}
|
||||
|
||||
/* Smartphone Local Toc
|
||||
---------------------------------------------------------*/
|
||||
|
||||
ul.sp-localtoc ul a{
|
||||
color: #ffffff;
|
||||
}
|
||||
ul.sp-localtoc ul a:hover{
|
||||
background-color: #178acc;
|
||||
color: #ffffff;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a{
|
||||
color: #ffffff;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a:hover{
|
||||
background-color: #022f5a;
|
||||
color: #ffffff;
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
{% set table_border_color = "#dddddd" %}
|
||||
|
||||
{% set danger_color = "#ffffff" %}
|
||||
{% set danger_background_color = "#ff0039" %}
|
||||
{% set danger_border_color = "transparent" %}
|
||||
|
||||
{% set warning_color = "#ffffff" %}
|
||||
{% set warning_background_color = "#ff7518" %}
|
||||
{% set warning_border_color = "transparent" %}
|
||||
|
||||
{% set note_color = "#ffffff" %}
|
||||
{% set note_background_color = "#3fb618" %}
|
||||
{% set note_border_color = "#transparent" %}
|
||||
|
||||
{% set hint_color = "#ffffff" %}
|
||||
{% set hint_background_color = "#9954bb" %}
|
||||
{% set hint_border_color = "transparent" %}
|
||||
|
||||
{% include "static/css/adjust_theme/_common_adjust.css" %}
|
||||
|
||||
/* Heading
|
||||
---------------------------------------------------------*/
|
||||
|
||||
h2, h3, h4, h5, h6 {
|
||||
border-bottom: 1px solid #e6e6e6 !important;
|
||||
}
|
||||
|
||||
/* Contents
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.contents {
|
||||
background-color: #e6e6e6;
|
||||
border: 1px solid #e6e6e6;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Genindex
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.genindex-jumpbox {
|
||||
color: #e6e6e6;
|
||||
border-top: 1px solid #e6e6e6;
|
||||
border-bottom: 1px solid #e6e6e6;
|
||||
}
|
||||
|
||||
/* Smartphone Local Toc
|
||||
---------------------------------------------------------*/
|
||||
|
||||
ul.sp-localtoc ul a{
|
||||
color: #ffffff;
|
||||
}
|
||||
ul.sp-localtoc ul a:hover{
|
||||
background-color: #090909;
|
||||
color: #ffffff;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a{
|
||||
color: #ffffff;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a:hover{
|
||||
background-color: #0066cc;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
{% if theme_bootstrap_version == "2" %}
|
||||
/* Docutils
|
||||
---------------------------------------------------------*/
|
||||
|
||||
table.docutils td.label {
|
||||
min-height: 0px;
|
||||
}
|
||||
{% endif %}
|
||||
@@ -0,0 +1,73 @@
|
||||
{% set table_border_color = "#222222" %}
|
||||
|
||||
{% set danger_color = "#eeeeee" %}
|
||||
{% set danger_background_color = "#cc0000" %}
|
||||
{% set danger_border_color = "transparent" %}
|
||||
|
||||
{% set warning_color = "#eeeeee" %}
|
||||
{% set warning_background_color = "#666666" %}
|
||||
{% set warning_border_color = "transparent" %}
|
||||
|
||||
{% set note_color = "#eeeeee" %}
|
||||
{% set note_background_color = "#5c8a00" %}
|
||||
{% set note_border_color = "#transparent" %}
|
||||
|
||||
{% set hint_color = "#ffffff" %}
|
||||
{% set hint_background_color = "#007399" %}
|
||||
{% set hint_border_color = "transparent" %}
|
||||
|
||||
{% include "static/css/adjust_theme/_common_adjust.css" %}
|
||||
|
||||
/* Heading
|
||||
---------------------------------------------------------*/
|
||||
|
||||
h2, h3, h4, h5, h6 {
|
||||
border-bottom: 1px solid #282828 !important;
|
||||
}
|
||||
|
||||
/* Field-list
|
||||
---------------------------------------------------------*/
|
||||
|
||||
table.field-list {
|
||||
background-color: #060606;
|
||||
}
|
||||
|
||||
/* Citation
|
||||
---------------------------------------------------------*/
|
||||
|
||||
table.citation{
|
||||
background-color: #060606;
|
||||
}
|
||||
|
||||
/* Footnote
|
||||
---------------------------------------------------------*/
|
||||
|
||||
table.footnote {
|
||||
background-color: #060606;
|
||||
}
|
||||
|
||||
/* Contents
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.contents {
|
||||
background-color: #222222;
|
||||
}
|
||||
|
||||
/* Genindex
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.genindex-jumpbox {
|
||||
color: #282828;
|
||||
border-top: 1px solid #282828;
|
||||
border-bottom: 1px solid #282828;
|
||||
}
|
||||
|
||||
/* Smartphone Local Toc
|
||||
---------------------------------------------------------*/
|
||||
|
||||
ul.sp-localtoc ul a:hover{
|
||||
color: #ffffff;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a:hover{
|
||||
color: #ffffff;
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
{% set table_border_color = "#464545" %}
|
||||
|
||||
{% set danger_color = "#ffffff" %}
|
||||
{% set danger_background_color = "#e94b35" %}
|
||||
{% set danger_border_color = "#e94b35" %}
|
||||
|
||||
{% set warning_color = "#ffffff" %}
|
||||
{% set warning_background_color = "#f59d00" %}
|
||||
{% set warning_border_color = "#f59d00" %}
|
||||
|
||||
{% set note_color = "#ffffff" %}
|
||||
{% set note_background_color = "#00bd8b" %}
|
||||
{% set note_border_color = "#00bd8b" %}
|
||||
|
||||
{% set hint_color = "#ffffff" %}
|
||||
{% set hint_background_color = "#2c97de" %}
|
||||
{% set hint_border_color = "#2c97de" %}
|
||||
|
||||
{% include "static/css/adjust_theme/_common_adjust.css" %}
|
||||
|
||||
/* Heading
|
||||
---------------------------------------------------------*/
|
||||
|
||||
h2, h3, h4, h5, h6 {
|
||||
border-bottom: 1px solid #464545 !important;
|
||||
}
|
||||
|
||||
/* Contents
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.contents {
|
||||
background-color: #464545;
|
||||
}
|
||||
|
||||
/* Genindex
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.genindex-jumpbox {
|
||||
color: #464545;
|
||||
border-top: 1px solid #464545;
|
||||
border-bottom: 1px solid #464545;
|
||||
}
|
||||
|
||||
/* Smartphone Local Toc
|
||||
---------------------------------------------------------*/
|
||||
|
||||
ul.sp-localtoc ul a{
|
||||
color: #ffffff;
|
||||
}
|
||||
ul.sp-localtoc ul a:hover{
|
||||
background-color: transparent;
|
||||
color: #00bc8c;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a{
|
||||
color: #ffffff;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a:hover{
|
||||
background-color: transparent;
|
||||
color: #375a7f;
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
{% set table_border_color = "#ecf0f1" %}
|
||||
|
||||
{% set danger_color = "#ffffff" %}
|
||||
{% set danger_background_color = "#dd4838" %}
|
||||
{% set danger_border_color = "#dd4838" %}
|
||||
|
||||
{% set warning_color = "#ffffff" %}
|
||||
{% set warning_background_color = "#ec9B00" %}
|
||||
{% set warning_border_color = "#ec9B00" %}
|
||||
|
||||
{% set note_color = "#ffffff" %}
|
||||
{% set note_background_color = "#40bc9c" %}
|
||||
{% set note_border_color = "#40bc9c" %}
|
||||
|
||||
{% set hint_color = "#ffffff" %}
|
||||
{% set hint_background_color = "#4b99dc" %}
|
||||
{% set hint_border_color = "#4b99dc" %}
|
||||
|
||||
|
||||
{% include "static/css/adjust_theme/_common_adjust.css" %}
|
||||
|
||||
/* Heading
|
||||
---------------------------------------------------------*/
|
||||
|
||||
h2, h3, h4, h5, h6 {
|
||||
border-bottom: 1px solid #ecf0f1 !important;
|
||||
}
|
||||
|
||||
/* Genindex
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.genindex-jumpbox {
|
||||
color: #ecf0f1;
|
||||
border-top: 1px solid #ecf0f1;
|
||||
border-bottom: 1px solid #ecf0f1;
|
||||
}
|
||||
|
||||
/* Smartphone Local Toc
|
||||
---------------------------------------------------------*/
|
||||
|
||||
ul.sp-localtoc ul a{
|
||||
color: #ffffff;
|
||||
}
|
||||
ul.sp-localtoc ul a:hover{
|
||||
background-color: transparent;
|
||||
color: #00bc8c;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a{
|
||||
color: #ffffff;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a:hover{
|
||||
background-color: transparent;
|
||||
color: #2c3e50;
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
{% set table_border_color = "#dddddd" %}
|
||||
|
||||
{% set danger_color = "#ffffff" %}
|
||||
{% set danger_background_color = "#ed6761" %}
|
||||
{% set danger_border_color = "#ed6761" %}
|
||||
|
||||
{% set warning_color = "#ffffff" %}
|
||||
{% set warning_background_color = "#f77400" %}
|
||||
{% set warning_border_color = "#f77400" %}
|
||||
|
||||
{% set note_color = "#ffffff" %}
|
||||
{% set note_background_color = "#11b446" %}
|
||||
{% set note_border_color = "#11b446" %}
|
||||
|
||||
{% set hint_color = "#ffffff" %}
|
||||
{% set hint_background_color = "#306598" %}
|
||||
{% set hint_border_color = "#306598" %}
|
||||
|
||||
{% include "static/css/adjust_theme/_common_adjust.css" %}
|
||||
|
||||
|
||||
/* Heading
|
||||
---------------------------------------------------------*/
|
||||
|
||||
h2, h3, h4, h5, h6 {
|
||||
border-bottom: 1px solid #eeeeee !important;
|
||||
}
|
||||
|
||||
/* Contents
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.contents {
|
||||
background-color: #eeeeee;
|
||||
border-color: #eeeeee;
|
||||
}
|
||||
|
||||
/* Genindex
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.genindex-jumpbox {
|
||||
color: #eeeeee;
|
||||
border-top: 1px solid #eeeeee;
|
||||
border-bottom: 1px solid #eeeeee;
|
||||
}
|
||||
|
||||
/* Smartphone Local Toc
|
||||
---------------------------------------------------------*/
|
||||
|
||||
ul.sp-localtoc ul a{
|
||||
color: #000000;
|
||||
}
|
||||
ul.sp-localtoc ul a:hover{
|
||||
background-color: #eeeeee;
|
||||
color: #000000;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a{
|
||||
color: #ffffff;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a:hover{
|
||||
background-color: #e74b47;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
/* Etc
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.navbar-inner ul.pull-right li a{
|
||||
font-size: 15px;
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
{% set table_border_color = "#dddddd" %}
|
||||
|
||||
{% set danger_color = "#ffffff" %}
|
||||
{% set danger_background_color = "#ff3f2c" %}
|
||||
{% set danger_border_color = "#ff3f2c" %}
|
||||
|
||||
{% set warning_color = "#ffffff" %}
|
||||
{% set warning_background_color = "#ff8500" %}
|
||||
{% set warning_border_color = "#ff8500" %}
|
||||
|
||||
{% set note_color = "#ffffff" %}
|
||||
{% set note_background_color = "#18B81D" %}
|
||||
{% set note_border_color = "#18B81D" %}
|
||||
|
||||
{% set hint_color = "#ffffff" %}
|
||||
{% set hint_background_color = "#71CAED" %}
|
||||
{% set hint_border_color = "#71CAED" %}
|
||||
|
||||
{% include "static/css/adjust_theme/_common_adjust.css" %}
|
||||
|
||||
/* Heading
|
||||
---------------------------------------------------------*/
|
||||
|
||||
h2, h3, h4, h5, h6 {
|
||||
border-bottom: 1px solid #eeeeee !important;
|
||||
}
|
||||
|
||||
/* Contents
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.contents {
|
||||
background-color: #fafafa;
|
||||
border-color: #eeeeee;
|
||||
}
|
||||
|
||||
/* Genindex
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.genindex-jumpbox {
|
||||
color: #eeeeee;
|
||||
border-top: 1px solid #eeeeee;
|
||||
border-bottom: 1px solid #eeeeee;
|
||||
}
|
||||
|
||||
/* Smartphone Local Toc
|
||||
---------------------------------------------------------*/
|
||||
|
||||
ul.sp-localtoc ul a{
|
||||
color: #999999;
|
||||
}
|
||||
ul.sp-localtoc ul a:hover{
|
||||
background-color: transparent;
|
||||
color: #333333;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a{
|
||||
color: #999999;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a:hover{
|
||||
background-color: transparent;
|
||||
color: #333333;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{% set table_border_color = "#dddddd" %}
|
||||
|
||||
{% set danger_color = "#ffffff" %}
|
||||
{% set danger_background_color = "#d23f3c" %}
|
||||
{% set danger_border_color = "#d23f3c" %}
|
||||
|
||||
{% set warning_color = "#ffffff" %}
|
||||
{% set warning_background_color = "#f19842" %}
|
||||
{% set warning_border_color = "#f19842" %}
|
||||
|
||||
{% set note_color = "#ffffff" %}
|
||||
{% set note_background_color = "#69a858" %}
|
||||
{% set note_border_color = "#69a858" %}
|
||||
|
||||
{% set hint_color = "#ffffff" %}
|
||||
{% set hint_background_color = "#8e45ab" %}
|
||||
{% set hint_border_color = "#8e45ab" %}
|
||||
|
||||
{% include "static/css/adjust_theme/_common_adjust.css" %}
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
{% set table_border_color = "#dddddd" %}
|
||||
|
||||
{% set danger_color = "#ffffff" %}
|
||||
{% set danger_background_color = "#db524b" %}
|
||||
{% set danger_border_color = "#db524b" %}
|
||||
|
||||
{% set warning_color = "#ffffff" %}
|
||||
{% set warning_background_color = "#f2ae43" %}
|
||||
{% set warning_border_color = "#f2ae43" %}
|
||||
|
||||
{% set note_color = "#ffffff" %}
|
||||
{% set note_background_color = "#39af40" %}
|
||||
{% set note_border_color = "#39af40" %}
|
||||
|
||||
{% set hint_color = "#ffffff" %}
|
||||
{% set hint_background_color = "#56C0E0" %}
|
||||
{% set hint_border_color = "#56C0E0" %}
|
||||
|
||||
{% include "static/css/adjust_theme/_common_adjust.css" %}
|
||||
|
||||
|
||||
/* Heading
|
||||
---------------------------------------------------------*/
|
||||
|
||||
h2, h3, h4, h5, h6 {
|
||||
border-bottom: 1px solid #eeeeee !important;
|
||||
}
|
||||
|
||||
/* Genindex
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.genindex-jumpbox {
|
||||
color: #eeeeee;
|
||||
border-top: 1px solid #eeeeee;
|
||||
border-bottom: 1px solid #eeeeee;
|
||||
}
|
||||
|
||||
/* Contents
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.contents {
|
||||
background-color: #f7f7f7;
|
||||
border-color: #eeeeee;
|
||||
}
|
||||
|
||||
/* Smartphone Local Toc
|
||||
---------------------------------------------------------*/
|
||||
|
||||
ul.sp-localtoc ul a{
|
||||
margin-left: 7px;
|
||||
margin-right: 7px;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 4px;
|
||||
color: #4582ec;
|
||||
}
|
||||
ul.sp-localtoc ul a:hover{
|
||||
border-color: #dddddd;
|
||||
color: #4582ec;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a{
|
||||
color: #333333;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a:hover{
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
|
||||
/* Etc
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.navbar-inner ul.pull-right li a{
|
||||
font-size: 15px;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{% set table_border_color = "#dddddd" %}
|
||||
|
||||
{% set danger_color = "#ffffff" %}
|
||||
{% set danger_background_color = "#c9605a" %}
|
||||
{% set danger_border_color = "#c9605a" %}
|
||||
|
||||
{% set warning_color = "#ffffff" %}
|
||||
{% set warning_background_color = "#e48353" %}
|
||||
{% set warning_border_color = "#e48353" %}
|
||||
|
||||
{% set note_color = "#ffffff" %}
|
||||
{% set note_background_color = "#9fbe5b" %}
|
||||
{% set note_border_color = "#9fbe5b" %}
|
||||
|
||||
{% set hint_color = "#ffffff" %}
|
||||
{% set hint_background_color = "#55abda" %}
|
||||
{% set hint_border_color = "#55abda" %}
|
||||
|
||||
{% include "static/css/adjust_theme/_common_adjust.css" %}
|
||||
@@ -0,0 +1,60 @@
|
||||
{% set table_border_color = "#dddddd" %}
|
||||
|
||||
{% set danger_color = "#ffffff" %}
|
||||
{% set danger_background_color = "#d88400" %}
|
||||
{% set danger_border_color = "#d88400" %}
|
||||
|
||||
{% set warning_color = "#ffffff" %}
|
||||
{% set warning_background_color = "#9c43a1" %}
|
||||
{% set warning_border_color = "#9c43a1" %}
|
||||
|
||||
{% set note_color = "#ffffff" %}
|
||||
{% set note_background_color = "#439500" %}
|
||||
{% set note_border_color = "#439500" %}
|
||||
|
||||
{% set hint_color = "#ffffff" %}
|
||||
{% set hint_background_color = "#0099d1" %}
|
||||
{% set hint_border_color = "#0099d1" %}
|
||||
|
||||
{% include "static/css/adjust_theme/_common_adjust.css" %}
|
||||
|
||||
/* Heading
|
||||
---------------------------------------------------------*/
|
||||
|
||||
h2, h3, h4, h5, h6 {
|
||||
border-bottom: 1px solid #dddddd !important;
|
||||
}
|
||||
|
||||
/* Genindex
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.genindex-jumpbox {
|
||||
color: #dddddd;
|
||||
border-top: 1px solid #dddddd;
|
||||
border-bottom: 1px solid #dddddd;
|
||||
}
|
||||
|
||||
/* Contents
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.contents {
|
||||
background-color: #f4f4f4;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Smartphone Local Toc
|
||||
---------------------------------------------------------*/
|
||||
|
||||
ul.sp-localtoc ul a{
|
||||
color: #333333;
|
||||
}
|
||||
ul.sp-localtoc ul a:hover{
|
||||
color: #d9230f;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a{
|
||||
color: #ffffff;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a:hover{
|
||||
color: #fac0ba;
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
{% set table_border_color = "#1c1e22" %}
|
||||
|
||||
{% set danger_color = "rgba(255, 255, 255, 0.9)" %}
|
||||
{% set danger_background_color = "#f05e57" %}
|
||||
{% set danger_border_color = "#ef4b60" %}
|
||||
|
||||
{% set warning_color = "rgba(255, 255, 255, 0.9)" %}
|
||||
{% set warning_background_color = "#fa9500" %}
|
||||
{% set warning_border_color = "#eb6500" %}
|
||||
|
||||
{% set note_color = "rgba(255, 255, 255, 0.9)" %}
|
||||
{% set note_background_color = "#468847" %}
|
||||
{% set note_border_color = "#5ec65d" %}
|
||||
|
||||
{% set hint_color = "rgba(255, 255, 255, 0.9)" %}
|
||||
{% set hint_background_color = "#56C0E0" %}
|
||||
{% set hint_border_color = "#31ced9" %}
|
||||
|
||||
{% include "static/css/adjust_theme/_common_adjust.css" %}
|
||||
|
||||
/* Heading
|
||||
---------------------------------------------------------*/
|
||||
|
||||
h2, h3, h4, h5, h6 {
|
||||
border-bottom: 1px solid #1c1e22 !important;
|
||||
}
|
||||
|
||||
/* Genindex
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.genindex-jumpbox {
|
||||
color: #1c1e22;
|
||||
border-top: 1px solid #1c1e22;
|
||||
border-bottom: 1px solid #1c1e22;
|
||||
}
|
||||
|
||||
|
||||
/* Field-list
|
||||
---------------------------------------------------------*/
|
||||
|
||||
table.field-list {
|
||||
background-color: #272B30;
|
||||
}
|
||||
|
||||
/* Citation
|
||||
---------------------------------------------------------*/
|
||||
|
||||
table.citation{
|
||||
background-color: #272B30;
|
||||
}
|
||||
|
||||
/* Footnote
|
||||
---------------------------------------------------------*/
|
||||
|
||||
table.footnote {
|
||||
background-color: #272B30;
|
||||
}
|
||||
|
||||
/* Contents
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.contents {
|
||||
background-color: #1c1e22;
|
||||
border-color: #0b0b0d;
|
||||
}
|
||||
|
||||
/* Smartphone Local Toc
|
||||
---------------------------------------------------------*/
|
||||
|
||||
ul.sp-localtoc ul a{
|
||||
color: #c8c8c8;
|
||||
}
|
||||
ul.sp-localtoc ul a:hover{
|
||||
background-color: #272b2e;
|
||||
color: #ffffff;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a{
|
||||
color: #c8c8c8;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a:hover{
|
||||
background-color: #272b2e;
|
||||
color: #ffffff;
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
{% set table_border_color = "#dddddd" %}
|
||||
|
||||
{% set danger_color = "#ffffff" %}
|
||||
{% set danger_background_color = "#cd0200" %}
|
||||
{% set danger_border_color = "#be001e" %}
|
||||
|
||||
{% set warning_color = "#ffffff" %}
|
||||
{% set warning_background_color = "#d47500" %}
|
||||
{% set warning_border_color = "#c54c00" %}
|
||||
|
||||
{% set note_color = "#ffffff" %}
|
||||
{% set note_background_color = "#3cb521" %}
|
||||
{% set note_border_color = "#4b9f1d" %}
|
||||
|
||||
{% set hint_color = "#ffffff" %}
|
||||
{% set hint_background_color = "#3399f3" %}
|
||||
{% set hint_border_color = "#11adf1" %}
|
||||
|
||||
|
||||
{% include "static/css/adjust_theme/_common_adjust.css" %}
|
||||
|
||||
/* Heading
|
||||
---------------------------------------------------------*/
|
||||
|
||||
h2, h3, h4, h5, h6 {
|
||||
border-bottom: 1px solid #eeeeee !important;
|
||||
}
|
||||
|
||||
/* Genindex
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.genindex-jumpbox {
|
||||
color: #eeeeee;
|
||||
border-top: 1px solid #eeeeee;
|
||||
border-bottom: 1px solid #eeeeee;
|
||||
}
|
||||
|
||||
/* Contents
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.contents {
|
||||
background-color: #eeeeee;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Smartphone Local Toc
|
||||
---------------------------------------------------------*/
|
||||
|
||||
ul.sp-localtoc ul a{
|
||||
color: #777777;
|
||||
}
|
||||
ul.sp-localtoc ul a:hover{
|
||||
color: #3399f3;
|
||||
-webkit-transition: color ease-in-out .2s;
|
||||
transition: color ease-in-out .2s;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a{
|
||||
color: #c8c8c8;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a:hover{
|
||||
color: #ffffff;
|
||||
-webkit-transition: color ease-in-out .2s;
|
||||
transition: color ease-in-out .2s;
|
||||
}
|
||||
|
||||
/* Etc
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.navbar-inner ul.pull-right li a{
|
||||
font-size: 12px;
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
{% set table_border_color = "#999999" %}
|
||||
{% set table_oddrow_color = "#eaeaea;" %}
|
||||
{% set table_hover_color = "#dddddd" %}
|
||||
|
||||
{% set danger_color = "#ffffff" %}
|
||||
{% set danger_background_color = "#d14432" %}
|
||||
{% set danger_border_color = "#c72d35" %}
|
||||
|
||||
{% set warning_color = "#ffffff" %}
|
||||
{% set warning_background_color = "#f26522" %}
|
||||
{% set warning_border_color = "#f13614" %}
|
||||
|
||||
{% set note_color = "#ffffff" %}
|
||||
{% set note_background_color = "#24c00b" %}
|
||||
{% set note_border_color = "#3aa80a" %}
|
||||
|
||||
{% set hint_color = "#ffffff" %}
|
||||
{% set hint_background_color = "#185af9" %}
|
||||
{% set hint_border_color = "#066ee7" %}
|
||||
|
||||
div.navbar-inner ul.pull-right li a{
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
a.brand {
|
||||
line-height: 25px;
|
||||
}
|
||||
}
|
||||
|
||||
table.docutils th.head {
|
||||
background-color: #015b4e;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
{% include "static/css/adjust_theme/_common_adjust.css" %}
|
||||
@@ -0,0 +1,123 @@
|
||||
{% set table_border_color = "#4d5d6d" %}
|
||||
|
||||
{% set danger_color = "#ffffff" %}
|
||||
{% set danger_background_color = "#db524b" %}
|
||||
{% set danger_border_color = "#db524b" %}
|
||||
|
||||
{% set warning_color = "#ffffff" %}
|
||||
{% set warning_background_color = "#f2ae43" %}
|
||||
{% set warning_border_color = "#f2ae43" %}
|
||||
|
||||
{% set note_color = "#ffffff" %}
|
||||
{% set note_background_color = "#58b957" %}
|
||||
{% set note_border_color = "#58b957" %}
|
||||
|
||||
{% set hint_color = "#ffffff" %}
|
||||
{% set hint_background_color = "#56c0e0" %}
|
||||
{% set hint_border_color = "#56c0e0" %}
|
||||
|
||||
{% include "static/css/adjust_theme/_common_adjust.css" %}
|
||||
|
||||
/* Heading
|
||||
---------------------------------------------------------*/
|
||||
|
||||
h2, h3, h4, h5, h6 {
|
||||
border-bottom: 1px solid #4d5d6d !important;
|
||||
}
|
||||
|
||||
/* Genindex
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.genindex-jumpbox {
|
||||
color: #4d5d6d;
|
||||
border-top: 1px solid #4d5d6d;
|
||||
border-bottom: 1px solid #4d5d6d;
|
||||
}
|
||||
|
||||
/* Contents
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.contents {
|
||||
background-color: #4d5d6d;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Smartphone Local Toc
|
||||
---------------------------------------------------------*/
|
||||
|
||||
ul.sp-localtoc ul a{
|
||||
font-size: 12px;
|
||||
color: #ebebeb;
|
||||
}
|
||||
ul.sp-localtoc ul a:hover{
|
||||
color: #ebebeb;
|
||||
background-color: #485563;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a{
|
||||
color: #ebebeb;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a:hover{
|
||||
color: #ebebeb;
|
||||
background-color: #c85e17;
|
||||
}
|
||||
|
||||
/* Code
|
||||
---------------------------------------------------------*/
|
||||
|
||||
code, pre {
|
||||
padding:0 3px 2px;
|
||||
font-family:Menlo,Monaco,Consolas,"Courier New",monospace;
|
||||
font-size:12px;
|
||||
color:#3a3f44;
|
||||
-webkit-border-radius:3px;
|
||||
-moz-border-radius:3px;
|
||||
border-radius:3px;
|
||||
}
|
||||
code{
|
||||
padding:2px 4px;
|
||||
color:#d14;
|
||||
background-color:#f7f7f9;
|
||||
border:1px solid #e1e1e8;
|
||||
white-space:nowrap;
|
||||
}
|
||||
pre{
|
||||
display:block;
|
||||
padding:10px;
|
||||
margin:0 0 10.5px;
|
||||
font-size:13px;
|
||||
line-height:21px;
|
||||
word-break:break-all;
|
||||
word-wrap:break-word;
|
||||
white-space:pre;
|
||||
white-space:pre-wrap;
|
||||
background-color:#f5f5f5;
|
||||
border:1px solid #ccc;
|
||||
border:1px solid rgba(0, 0, 0, 0.15);
|
||||
-webkit-border-radius:4px;
|
||||
-moz-border-radius:4px;
|
||||
border-radius:4px;
|
||||
}
|
||||
pre.prettyprint{
|
||||
margin-bottom:21px;
|
||||
}
|
||||
pre code{
|
||||
padding:0;
|
||||
color:inherit;
|
||||
white-space:pre;
|
||||
white-space:pre-wrap;
|
||||
background-color:transparent;
|
||||
border:0;
|
||||
}
|
||||
|
||||
div.navbar-inner ul.pull-right li a{
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 480px) {
|
||||
a.brand {
|
||||
line-height: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
{% set table_border_color = "#dddddd" %}
|
||||
|
||||
{% set danger_color = "#ffffff" %}
|
||||
{% set danger_background_color = "#e13622" %}
|
||||
{% set danger_border_color = "#e13622" %}
|
||||
|
||||
{% set warning_color = "#ffffff" %}
|
||||
{% set warning_background_color = "#f0b82d" %}
|
||||
{% set warning_border_color = "#f0b82d" %}
|
||||
|
||||
{% set note_color = "#ffffff" %}
|
||||
{% set note_background_color = "#30b644" %}
|
||||
{% set note_border_color = "#30b644" %}
|
||||
|
||||
{% set hint_color = "#ffffff" %}
|
||||
{% set hint_background_color = "#782753" %}
|
||||
{% set hint_border_color = "#782753" %}
|
||||
|
||||
{% include "static/css/adjust_theme/_common_adjust.css" %}
|
||||
|
||||
/* Heading
|
||||
---------------------------------------------------------*/
|
||||
|
||||
h2, h3, h4, h5, h6 {
|
||||
border-bottom: 1px solid #eeeeee !important;
|
||||
}
|
||||
|
||||
/* Genindex
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.genindex-jumpbox {
|
||||
color: #eeeeee;
|
||||
border-top: 1px solid #eeeeee;
|
||||
border-bottom: 1px solid #eeeeee;
|
||||
}
|
||||
|
||||
/* Contents
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.contents {
|
||||
background-color: #eeeeee;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Smartphone Local Toc
|
||||
---------------------------------------------------------*/
|
||||
|
||||
ul.sp-localtoc ul a{
|
||||
color: #ffffff;
|
||||
}
|
||||
ul.sp-localtoc ul a:hover{
|
||||
color: #ffffff;
|
||||
background-color: #97310e;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a{
|
||||
color: #ffffff;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a:hover{
|
||||
color: #ffffff;
|
||||
background-color: #3e152b;
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
{% set table_border_color = "#dddddd" %}
|
||||
|
||||
{% set danger_color = "#ffffff" %}
|
||||
{% set danger_background_color = "#f33f13" %}
|
||||
{% set danger_border_color = "#ed2c00" %}
|
||||
|
||||
{% set warning_color = "#ffffff" %}
|
||||
{% set warning_background_color = "#eb9100" %}
|
||||
{% set warning_border_color = "#d28100" %}
|
||||
|
||||
{% set note_color = "#ffffff" %}
|
||||
{% set note_background_color = "#3ead68" %}
|
||||
{% set note_border_color = "#379b5d" %}
|
||||
|
||||
{% set hint_color = "#ffffff" %}
|
||||
{% set hint_background_color = "#56c0e0" %}
|
||||
{% set hint_border_color = "#3ab5da" %}
|
||||
|
||||
{% include "static/css/adjust_theme/_common_adjust.css" %}
|
||||
|
||||
/* Heading
|
||||
---------------------------------------------------------*/
|
||||
|
||||
h2, h3, h4, h5, h6 {
|
||||
border-bottom: 1px solid #dddddd !important;
|
||||
}
|
||||
|
||||
/* Genindex
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.genindex-jumpbox {
|
||||
color: #dddddd;
|
||||
border-top: 1px solid #dddddd;
|
||||
border-bottom: 1px solid #dddddd;
|
||||
}
|
||||
|
||||
/* Contents
|
||||
---------------------------------------------------------*/
|
||||
|
||||
div.contents {
|
||||
background-color: #fafafa;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Smartphone Local Toc
|
||||
---------------------------------------------------------*/
|
||||
|
||||
ul.sp-localtoc ul a{
|
||||
color: #ffffff;
|
||||
}
|
||||
ul.sp-localtoc ul a:hover{
|
||||
color: #ffffff;
|
||||
background-color: #272727;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a{
|
||||
color: #ffffff;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a:hover{
|
||||
color: #ffffff;
|
||||
background-color: #006687;
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
{% set table_border_color = "#228000" %}
|
||||
|
||||
{% set danger_color = "#ffffff" %}
|
||||
{% set danger_background_color = "#f40000" %}
|
||||
{% set danger_border_color = "#a20000" %}
|
||||
|
||||
{% set warning_color = "#000000" %}
|
||||
{% set warning_background_color = "#fcfe00" %}
|
||||
{% set warning_border_color = "#f40000" %}
|
||||
|
||||
{% set note_color = "#ffffff" %}
|
||||
{% set note_background_color = "#228000" %}
|
||||
{% set note_border_color = "#2faa00" %}
|
||||
|
||||
{% set hint_color = "#000000" %}
|
||||
{% set hint_background_color = "#57ffff" %}
|
||||
{% set hint_border_color = "#a8a900" %}
|
||||
|
||||
{% include "static/css/adjust_theme/_common_adjust.css" %}
|
||||
|
||||
table.docutils {
|
||||
-webkit-border-radius: 0px;
|
||||
-moz-border-radius: 0px;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
div.admonition {
|
||||
-webkit-border-radius: 0px;
|
||||
-moz-border-radius: 0px;
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
div.topic {
|
||||
background: url("../../img/stars.gif") !important;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,350 @@
|
||||
@import url("../basic.css");
|
||||
|
||||
|
||||
/* Table
|
||||
---------------------------------------------------------*/
|
||||
|
||||
table {
|
||||
border: 0;
|
||||
max-width: 100%;
|
||||
background-color: transparent;
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0 !important;
|
||||
}
|
||||
|
||||
table.docutils {
|
||||
width: 100%;
|
||||
margin-bottom: 20px;
|
||||
border: 1px solid #dddddd;
|
||||
border-collapse: separate;
|
||||
*border-collapse: collapse;
|
||||
border-left: 0;
|
||||
border-right: 0;
|
||||
}
|
||||
|
||||
table.docutils th {
|
||||
font-weight: bold;
|
||||
}
|
||||
table.docutils th,
|
||||
table.docutils td
|
||||
{
|
||||
padding: 8px;
|
||||
line-height: 20px;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
border: none;
|
||||
border-spacing: 0 !important;
|
||||
border-collapse: none;
|
||||
border-top: 1px solid #dddddd;
|
||||
}
|
||||
table.docutils caption + thead tr:first-child th,
|
||||
table.docutils caption + tbody tr:first-child th,
|
||||
table.docutils caption + tbody tr:first-child td,
|
||||
table.docutils colgroup + thead tr:first-child th,
|
||||
table.docutils colgroup + tbody tr:first-child th,
|
||||
table.docutils colgroup + tbody tr:first-child td,
|
||||
table.docutils thead:first-child tr:first-child th,
|
||||
table.docutils tbody:first-child tr:first-child th,
|
||||
table.docutils tbody:first-child tr:first-child td {
|
||||
border-top: 0;
|
||||
}
|
||||
table.docutils thead th {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
table.docutils tbody + tbody {
|
||||
border-top: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
/* Table-bordered
|
||||
---------------------------------------------------------*/
|
||||
|
||||
table.table-bordered {
|
||||
border-top: 1px solid #dddddd;
|
||||
border-left: 1px solid #dddddd;
|
||||
border-right: none;
|
||||
}
|
||||
table.table-bordered > thead > tr > th,
|
||||
table.table-bordered > tbody > tr > th,
|
||||
table.table-bordered > tfoot > tr > th,
|
||||
table.table-bordered > thead > tr > td,
|
||||
table.table-bordered > tbody > tr > td,
|
||||
table.table-bordered > tfoot > tr > td {
|
||||
border-left: none;
|
||||
border-bottom-width: 0;
|
||||
}
|
||||
|
||||
/* Highlight Table
|
||||
---------------------------------------------------------*/
|
||||
|
||||
.highlighttable .code pre {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.highlighttable .linenos pre {
|
||||
word-break: normal;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
div.highlight {
|
||||
background: none;
|
||||
}
|
||||
|
||||
/* Field-list
|
||||
---------------------------------------------------------*/
|
||||
|
||||
table.field-list {
|
||||
width: auto;
|
||||
border: none;
|
||||
}
|
||||
|
||||
/* Citation
|
||||
---------------------------------------------------------*/
|
||||
|
||||
table.citation{
|
||||
width: auto;
|
||||
margin-bottom: 0;
|
||||
border: none;
|
||||
}
|
||||
table.citation td.label {
|
||||
font-size: 100%;
|
||||
display: block;
|
||||
line-height: normal;
|
||||
background: inherit;
|
||||
}
|
||||
|
||||
/* Footnote
|
||||
---------------------------------------------------------*/
|
||||
|
||||
a.footnote-reference {
|
||||
vertical-align: super;
|
||||
font-size: 75%;
|
||||
}
|
||||
|
||||
table.footnote td.label {
|
||||
font-size: 100%;
|
||||
display: block;
|
||||
line-height: normal;
|
||||
background: inherit;
|
||||
}
|
||||
|
||||
table.footnote {
|
||||
width: auto;
|
||||
margin-bottom: 0px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
|
||||
/* Footer
|
||||
---------------------------------------------------------*/
|
||||
|
||||
footer {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
padding: 0px;
|
||||
padding-left: auto;
|
||||
padding-right: auto;
|
||||
}
|
||||
|
||||
/* Sidebar
|
||||
------------------------------------------------------- */
|
||||
div.sidebar {
|
||||
border: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background: none;
|
||||
width: 100%;
|
||||
float: none;
|
||||
}
|
||||
|
||||
div.sidebar ul:second-child {
|
||||
color: red;
|
||||
background-color: #000 !important;
|
||||
list-style: none !important;
|
||||
}
|
||||
|
||||
/* Definition lists
|
||||
----------------------------------------------------------- */
|
||||
|
||||
dl dd {
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
/* Admonition styles
|
||||
----------------------------------------------------------- */
|
||||
div.admonition {
|
||||
padding: 8px 35px 8px 0px;
|
||||
margin-bottom: 20px;
|
||||
color: #c09853;
|
||||
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
|
||||
background-color: #fcf8e3;
|
||||
border: 1px solid #fbeed5;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
div.admonition p {
|
||||
margin: 0.5em 1em 0.5em 1em;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
div.admonition pre {
|
||||
margin: 0.4em 1em 0.4em 1em;
|
||||
}
|
||||
|
||||
div.admonition p.admonition-title {
|
||||
margin: 0;
|
||||
padding: 0.1em 0 0.1em 0.5em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.admonition ul, div.admonition ol {
|
||||
margin: 0.1em 0.5em 0.5em 3em;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* -- danger, error -- */
|
||||
div.danger,
|
||||
div.error {
|
||||
color: #b94a48;
|
||||
background-color: #f2dede;
|
||||
border-color: #eed3d7;
|
||||
}
|
||||
|
||||
|
||||
/* -- warning, caution, attention -- */
|
||||
div.warning,
|
||||
div.caution,
|
||||
div.attention {
|
||||
|
||||
}
|
||||
|
||||
/* -- note, important -- */
|
||||
div.note,
|
||||
div.important {
|
||||
color: #468847;
|
||||
background-color: #dff0d8;
|
||||
border-color: #d6e9c6;
|
||||
}
|
||||
|
||||
/* -- hint, tip -- */
|
||||
div.hint,
|
||||
div.tip {
|
||||
color: #3a87ad;
|
||||
background-color: #d9edf7;
|
||||
border-color: #bce8f1;
|
||||
}
|
||||
|
||||
/* Etc
|
||||
----------------------------------------------------------- */
|
||||
|
||||
div.figure-round img {
|
||||
-webkit-border-radius: 6px;
|
||||
-moz-border-radius: 6px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
div.figure-polaroid img{
|
||||
padding: 4px;
|
||||
background-color: #fff;
|
||||
border: 1px solid #ccc;
|
||||
border: 1px solid rgba(0, 0, 0, 0.2);
|
||||
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
||||
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
div.figure-circle img {
|
||||
-webkit-border-radius: 500px;
|
||||
-moz-border-radius: 500px;
|
||||
border-radius: 500px;
|
||||
}
|
||||
|
||||
a.headerlink {
|
||||
font-size: 60% !important;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
/*
|
||||
#searchbox .search-query {
|
||||
width: 60%;
|
||||
}
|
||||
*/
|
||||
|
||||
div.topic {
|
||||
min-height: 20px;
|
||||
padding: 9px;
|
||||
margin-bottom: 20px;
|
||||
|
||||
background-color: #f5f5f5;
|
||||
border: 1px solid #e3e3e3;
|
||||
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
|
||||
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
|
||||
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
|
||||
-webkit-border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
ul.sp-localtoc {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
ul.sp-localtoc ul{
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
}
|
||||
ul.sp-localtoc ul a{
|
||||
padding-left: 15px;
|
||||
padding-top:7px;
|
||||
padding-bottom:7px;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
color: #777777;
|
||||
}
|
||||
ul.sp-localtoc ul a:hover{
|
||||
color: #555555;
|
||||
}
|
||||
ul.sp-localtoc ul ul{
|
||||
list-style: none;
|
||||
}
|
||||
ul.sp-localtoc ul ul a{
|
||||
padding-left: 25px;
|
||||
}
|
||||
ul.sp-localtoc ul ul ul a{
|
||||
padding-left: 35px;
|
||||
}
|
||||
ul.sp-localtoc ul ul ul ul a{
|
||||
padding-left: 45px;
|
||||
}
|
||||
ul.sp-localtoc ul ul ul ul ul a{
|
||||
padding-left: 55px;
|
||||
}
|
||||
ul.sp-localtoc ul ul ul ul ul a{
|
||||
padding-left: 65px;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a{
|
||||
color: #999999;
|
||||
}
|
||||
div.navbar-inverse ul.sp-localtoc ul a:hover{
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
|
||||
div.footer-relbar {
|
||||
margin-top:10px;
|
||||
}
|
||||
|
||||
div.sidebar ul {
|
||||
list-style: none;
|
||||
padding-left: 10px;
|
||||
}
|
||||
div.sidebar ul ul {
|
||||
list-style: initial;
|
||||
padding-left: 40px;
|
||||
}
|
||||
div.sidebar p.topless {
|
||||
padding-left: 10px;
|
||||
}
|
||||
@@ -0,0 +1,186 @@
|
||||
/* Bootstrap
|
||||
------------------------------------------------------- */
|
||||
|
||||
/* apply font awesome
|
||||
------------------------------------------------------- */
|
||||
|
||||
div.danger p.admonition-title:before,
|
||||
div.error p.admonition-title:before,
|
||||
div.warning p.admonition-title:before,
|
||||
div.caution p.admonition-title:before,
|
||||
div.attention p.admonition-title:before,
|
||||
div.important p.admonition-title:before,
|
||||
div.note p.admonition-title:before,
|
||||
div.hint p.admonition-title:before,
|
||||
div.tip p.admonition-title:before
|
||||
{
|
||||
display: inline-block;
|
||||
font-family: FontAwesome;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
line-height: 1;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
div.danger p.admonition-title:before,
|
||||
div.error p.admonition-title:before {
|
||||
content: "\f06a\00a0";
|
||||
}
|
||||
div.warning p.admonition-title:before,
|
||||
div.caution p.admonition-title:before,
|
||||
div.attention p.admonition-title:before {
|
||||
content: "\f071\00a0";
|
||||
}
|
||||
div.important p.admonition-title:before,
|
||||
div.note p.admonition-title:before {
|
||||
content: "\f05a\00a0";
|
||||
}
|
||||
div.hint p.admonition-title:before,
|
||||
div.tip p.admonition-title:before {
|
||||
content: "\f0eb\00a0";
|
||||
}
|
||||
|
||||
{%- if theme_h1_size != '' %}
|
||||
h1 { font-size: {{ theme_h1_size }}; line-height: {{ theme_h1_size }};}
|
||||
{% endif %}
|
||||
{%- if theme_h2_size != '' %}
|
||||
h2 { font-size: {{ theme_h2_size }}; line-height: {{ theme_h2_size }};}
|
||||
{% endif %}
|
||||
{%- if theme_h3_size != '' %}
|
||||
h3 { font-size: {{ theme_h3_size }}; line-height: {{ theme_h3_size }};}
|
||||
{% endif %}
|
||||
{%- if theme_h4_size != '' %}
|
||||
h4 { font-size: {{ theme_h4_size }}; line-height: {{ theme_h4_size }};}
|
||||
{% endif %}
|
||||
{%- if theme_h5_size != '' %}
|
||||
h5 { font-size: {{ theme_h5_size }}; line-height: {{ theme_h5_size }};}
|
||||
{% endif %}
|
||||
{%- if theme_h6_size != '' %}
|
||||
h6 { font-size: {{ theme_h6_size }}; line-height: {{ theme_h6_size }};}
|
||||
{% endif %}
|
||||
|
||||
{%- if (theme_googlewebfont|tobool) %}
|
||||
body,
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
input,
|
||||
button,
|
||||
select,
|
||||
textarea,
|
||||
h1 small,
|
||||
h2 small,
|
||||
h3 small,
|
||||
h4 small,
|
||||
h5 small,
|
||||
h6 small,
|
||||
.navbar,
|
||||
.navbar-search .search-query,
|
||||
.navbar .navbar-search .search-query,
|
||||
/*
|
||||
.navbar .search-query::-moz-placeholder,
|
||||
.navbar .search-query::-webkit-input-placeholder,
|
||||
*/
|
||||
.navbar .brand,
|
||||
.navbar .nav>li>a,
|
||||
.navbar .navbar-text,
|
||||
.navbar .dropdown-menu li>a,
|
||||
.nav li>a,
|
||||
div.subnav,
|
||||
div.subnav .nav>li>a,
|
||||
div.subnav .nav>li:first-child>a,
|
||||
div.subnav .nav>li.active>a,
|
||||
legend,
|
||||
.btn,
|
||||
.alert-heading
|
||||
{
|
||||
{{ theme_googlewebfont_style }}
|
||||
}
|
||||
{%- endif %}
|
||||
|
||||
h2, h3, h4, h5, h6 {
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px solid #d0d0d0;
|
||||
}
|
||||
|
||||
{%- if theme_bootstrap_version == '2' %}
|
||||
div.sidebar ul {
|
||||
margin-left: 0;
|
||||
}
|
||||
ul.sp-localtoc{
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
ul.sp-localtoc ul{
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
ul.sp-localtoc ul ul{
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
ul.sp-localtoc ul ul a{
|
||||
margin-left: 25px;
|
||||
}
|
||||
ul.sp-localtoc ul ul ul a{
|
||||
margin-left: 35px;
|
||||
}
|
||||
ul.sp-localtoc ul ul ul ul a{
|
||||
margin-left: 45px;
|
||||
}
|
||||
ul.sp-localtoc ul ul ul ul ul a{
|
||||
margin-left: 55px;
|
||||
}
|
||||
ul.sp-localtoc ul ul ul ul ul a{
|
||||
margin-left: 65px;
|
||||
}
|
||||
{% endif %}
|
||||
|
||||
|
||||
/* for tablet */
|
||||
@media (max-width: 767px) {
|
||||
form.sp-searchbox div.input-append {
|
||||
margin-top: 10px;
|
||||
margin-left: 12px;
|
||||
}
|
||||
form.sp-searchbox div.input-append {
|
||||
{%- if theme_bootstrap_version == '2' %}
|
||||
width: 70%;
|
||||
{% else %}
|
||||
width: 90%;
|
||||
{% endif %}
|
||||
}
|
||||
form.sp-searchbox input.search-query {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
/* for smartphone */
|
||||
@media (max-width: 480px) {
|
||||
a.brand {
|
||||
width: 80%;
|
||||
}
|
||||
a.navbar-brand {
|
||||
width: 80%;
|
||||
height: 100%;
|
||||
}
|
||||
.searchbox .search-query {
|
||||
width: 90%;
|
||||
}
|
||||
}
|
||||
|
||||
/* for desktop */
|
||||
@media (min-width: 768px) {
|
||||
{% if theme_nav_fixed %}
|
||||
.navbar-inner div.container {
|
||||
width: {{ theme_nav_width }};
|
||||
}
|
||||
{% endif %}
|
||||
{% if theme_content_fixed %}
|
||||
div.container {
|
||||
width: {{ theme_content_width }};
|
||||
}
|
||||
{% endif %}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
/* Template-specific stuff
|
||||
*
|
||||
* Customizations just for the template; these are not necessary for anything
|
||||
* with disabling the responsiveness.
|
||||
*/
|
||||
|
||||
/* Account for fixed navbar */
|
||||
body {
|
||||
min-width: 970px;
|
||||
}
|
||||
|
||||
/* Finesse the page header spacing */
|
||||
.page-header {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
.page-header .lead {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
|
||||
/* Non-responsive overrides
|
||||
*
|
||||
* Utilitze the following CSS to disable the responsive-ness of the container,
|
||||
* grid system, and navbar.
|
||||
*/
|
||||
/* Reset the container */
|
||||
.container {
|
||||
width: 970px;
|
||||
max-width: none !important;
|
||||
}
|
||||
|
||||
/* Demonstrate the grids */
|
||||
.col-xs-3 {
|
||||
}
|
||||
|
||||
.container .navbar-header,
|
||||
.container .navbar-collapse {
|
||||
margin-right: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/* Always float the navbar header */
|
||||
.navbar-header {
|
||||
float: left;
|
||||
}
|
||||
|
||||
/* Undo the collapsing navbar */
|
||||
.navbar-collapse {
|
||||
display: block !important;
|
||||
height: auto !important;
|
||||
padding-bottom: 0;
|
||||
overflow: visible !important;
|
||||
}
|
||||
.navbar-toggle {
|
||||
display: none;
|
||||
}
|
||||
.navbar-collapse {
|
||||
border-top: 0;
|
||||
}
|
||||
.navbar-brand {
|
||||
margin-left: -15px;
|
||||
}
|
||||
/* Always apply the floated nav */
|
||||
.navbar-nav {
|
||||
float: left;
|
||||
margin: 0;
|
||||
}
|
||||
.navbar-nav > li {
|
||||
float: left;
|
||||
}
|
||||
.navbar-nav > li > a {
|
||||
padding: 15px;
|
||||
}
|
||||
/* Redeclare since we override the float above */
|
||||
.navbar-nav.navbar-right {
|
||||
float: right;
|
||||
}
|
||||
/* Undo custom dropdowns */
|
||||
.navbar .navbar-nav .open .dropdown-menu {
|
||||
position: absolute;
|
||||
float: left;
|
||||
}
|
||||