Create a doc generator to build the website
* Revive the `build.el` * Add the `docs` subcommand to build the docs including the website out of the org files
This commit is contained in:
parent
ad2560bdf3
commit
6eaed01362
|
@ -42,4 +42,5 @@ website/.*.swp
|
||||||
website/*~
|
website/*~
|
||||||
#*#
|
#*#
|
||||||
|
|
||||||
emacs.d/
|
emacs.d/
|
||||||
|
build/
|
9
Makefile
9
Makefile
|
@ -61,9 +61,16 @@ compile:
|
||||||
clean:
|
clean:
|
||||||
@rm -rf $(shell find `pwd` -iname "*~")
|
@rm -rf $(shell find `pwd` -iname "*~")
|
||||||
@rm -rf $(shell find `pwd`/core -iname "*.elc")
|
@rm -rf $(shell find `pwd`/core -iname "*.elc")
|
||||||
|
@rm -rf build
|
||||||
|
|
||||||
|
.PHONY: dev-docs
|
||||||
|
dev-docs: clean
|
||||||
|
./build.el docs
|
||||||
|
|
||||||
.PHYNY: dummy-x
|
serve: build
|
||||||
|
npx http-server ./build
|
||||||
|
|
||||||
|
.PHONY: dummy-x
|
||||||
dummy-x:
|
dummy-x:
|
||||||
Xephyr -br -ac -noreset -screen 800x600 :1
|
Xephyr -br -ac -noreset -screen 800x600 :1
|
||||||
.PHONY: test-wm
|
.PHONY: test-wm
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
;;; build --- build script for FG42
|
:;exec emacs --no-site-file --no-site-lisp --batch -L ./ -l "$0" -f main "$(cd "$(dirname "$0")/." >/dev/null 2>&1 ; pwd -P)" "$@"
|
||||||
|
;;; Buid --- The builder for FG42 -*- lexical-binding: t; -*-
|
||||||
;;
|
;;
|
||||||
;; Copyright (C) 2010-2021 Sameer Rahmani <lxsameer@gnu.org>
|
;; Copyright (c) 2010-2021 Sameer Rahmani & Contributors
|
||||||
;;
|
;;
|
||||||
;; Author: Sameer Rahmani <lxsameer@gnu.org>
|
;; Author: Sameer Rahmani <lxsameer@gnu.org>
|
||||||
;; Keywords: lisp fg42 IDE package manager
|
;; URL: https://gitlab.com/FG42/FG42
|
||||||
;; Version: 1.0.0
|
;; Version: 3.0.0
|
||||||
;;
|
;;
|
||||||
;; This program is free software; you can redistribute it and/or modify
|
;; This program is free software; you can redistribute it and/or modify
|
||||||
;; it under the terms of the GNU General Public License as published by
|
;; it under the terms of the GNU General Public License as published by
|
||||||
|
@ -17,48 +18,87 @@
|
||||||
;; GNU General Public License for more details.
|
;; GNU General Public License for more details.
|
||||||
;;
|
;;
|
||||||
;; You should have received a copy of the GNU General Public License
|
;; You should have received a copy of the GNU General Public License
|
||||||
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
;; along with thnis program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
;;
|
;;
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
|
;; Cubes are the building blocks of any `FG42' editor. Each `cube' is a
|
||||||
|
;; unit which defines different abilities in a deterministic and idempotent
|
||||||
|
;; way. Cubes are composable and a composition of cubes creates an editor.
|
||||||
|
;;
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
(setq debug-on-error t)
|
(setq debug-on-error t)
|
||||||
(setq gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3")
|
|
||||||
(setq user-emacs-directory (concat (getenv "HOME") "/.fg42/"))
|
|
||||||
(add-to-list 'load-path (concat (getenv "HOME") "/.fg42/lib"))
|
|
||||||
|
|
||||||
(require 'fg42)
|
(setq user-emacs-directory (concat (getenv "HOME") "/.fg42/emacs.d"))
|
||||||
(require 'fpkg)
|
(add-to-list 'load-path (concat (getenv "HOME") "/.fg42/core"))
|
||||||
(setq fg42-home (concat (getenv "HOME") "/.fg42/"))
|
|
||||||
(setq fg42-tmp (concat fg42-home "/tmp"))
|
|
||||||
(theme themes/color-theme-doom-one)
|
|
||||||
|
|
||||||
(i-am-god)
|
|
||||||
|
|
||||||
(disable 'rbenv 'helm 'spell 'linum 'tabbar
|
(require 'fg42/build/core)
|
||||||
'smart-mode-line 'desktop-mode 'jedi
|
|
||||||
'dired+ 'guru 'emoji 'elpy 'github
|
|
||||||
'versioned-backup)
|
|
||||||
|
|
||||||
(activate-extensions 'editor
|
(defvar FG42-VERSION "3.0.0-snapshot"
|
||||||
'development
|
"The version number of the current build of FG42.")
|
||||||
'web
|
|
||||||
'editor-theme
|
|
||||||
'javascript
|
|
||||||
'ruby
|
|
||||||
'clojure
|
|
||||||
'haskell
|
|
||||||
'php
|
|
||||||
'common-lisp
|
|
||||||
'python
|
|
||||||
'serene
|
|
||||||
'typescript
|
|
||||||
'arduino
|
|
||||||
'java
|
|
||||||
'racket
|
|
||||||
'irc
|
|
||||||
'latex)
|
|
||||||
|
|
||||||
(fg42-initialize)
|
(defconst build/usage "
|
||||||
|
Usage:
|
||||||
|
|
||||||
|
build.el [PARAMS] COMMAND [...]
|
||||||
|
|
||||||
|
COMMANDS:
|
||||||
|
clean [DIRS] - Clean up the given list of directories (default: \"code\" \"fbt\").
|
||||||
|
docs - Build the documents and convert them to HTML
|
||||||
|
|
||||||
|
PARAMS:
|
||||||
|
:d - Turns on the debug mode.
|
||||||
|
:e expr - Run the given `expr' before any operation.
|
||||||
|
")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(defun print-help (command)
|
||||||
|
"Print out a usage instructions and print out the invalid msg for COMMAND."
|
||||||
|
(when command
|
||||||
|
(warn "I don't know about '%s' command.\n" command))
|
||||||
|
(message build/usage))
|
||||||
|
|
||||||
|
|
||||||
|
(defmacro do-command (&rest body)
|
||||||
|
"Run the BODY after loading FG42."
|
||||||
|
`(progn
|
||||||
|
(require 'fg42)
|
||||||
|
(fg42/before-initialize)
|
||||||
|
,@body))
|
||||||
|
|
||||||
|
|
||||||
|
(defun main ()
|
||||||
|
"The entry point to the build script."
|
||||||
|
(message (version))
|
||||||
|
(message "\nFG42 Build tool v%s\n\n" FG42-VERSION)
|
||||||
|
|
||||||
|
;; UTF-8 as default encoding
|
||||||
|
(prefer-coding-system 'utf-8)
|
||||||
|
(set-default-coding-systems 'utf-8)
|
||||||
|
(set-terminal-coding-system 'utf-8)
|
||||||
|
(set-keyboard-coding-system 'utf-8)
|
||||||
|
|
||||||
|
(setq project-root (car command-line-args-left))
|
||||||
|
|
||||||
|
(let* ((fg42-home (car command-line-args-left))
|
||||||
|
(build-dir (from-root "/build/"))
|
||||||
|
(parsed-args (read-args (cdr command-line-args-left)))
|
||||||
|
(eval-string (car parsed-args))
|
||||||
|
(command (caadr parsed-args))
|
||||||
|
(args (cdadr parsed-args)))
|
||||||
|
|
||||||
|
;; Evaluate the expression provided by :e
|
||||||
|
(when eval-string
|
||||||
|
(eval (car (read-from-string eval-string))))
|
||||||
|
|
||||||
|
(cond
|
||||||
|
((string= command "docs")
|
||||||
|
(do-command
|
||||||
|
(require 'fg42/build/docs)
|
||||||
|
(fg42/build-docs build-dir)))
|
||||||
|
(t (print-help command)))))
|
||||||
|
|
||||||
(provide 'build)
|
(provide 'build)
|
||||||
;;; build.el ends here
|
;;; build.el ends here
|
||||||
|
|
|
@ -37,6 +37,7 @@
|
||||||
(require 'cubes/java)
|
(require 'cubes/java)
|
||||||
(require 'cubes/snippets)
|
(require 'cubes/snippets)
|
||||||
(require 'cubes/org)
|
(require 'cubes/org)
|
||||||
|
(require 'cubes/git)
|
||||||
|
|
||||||
;; ============== MY STUFF ==============================
|
;; ============== MY STUFF ==============================
|
||||||
(custom-set-faces
|
(custom-set-faces
|
||||||
|
@ -127,6 +128,7 @@
|
||||||
("irc.oftc.net" :channels ("#llvm") :nick "lxsameer")))
|
("irc.oftc.net" :channels ("#llvm") :nick "lxsameer")))
|
||||||
|
|
||||||
(fg42/vterm-cube)
|
(fg42/vterm-cube)
|
||||||
|
(fg42/git-cube)
|
||||||
(fg42/java-cube)
|
(fg42/java-cube)
|
||||||
(fg42/yasnippet-cube)
|
(fg42/yasnippet-cube)
|
||||||
;; Themes should be the last cube and anything that wants to manipulate a face
|
;; Themes should be the last cube and anything that wants to manipulate a face
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
fg42.lxsameer.com
|
|
15
docs/Gemfile
15
docs/Gemfile
|
@ -1,15 +0,0 @@
|
||||||
source 'https://rubygems.org'
|
|
||||||
|
|
||||||
gem 'guard'
|
|
||||||
gem 'guard-shell'
|
|
||||||
gem 'asciidoctor'
|
|
||||||
gem 'webrick'
|
|
||||||
gem 'rake'
|
|
||||||
gem 'coderay'
|
|
||||||
gem 'prawn'
|
|
||||||
gem 'addressable'
|
|
||||||
gem 'prawn-svg'
|
|
||||||
gem 'prawn-templates'
|
|
||||||
gem 'asciidoctor-pdf'
|
|
||||||
|
|
||||||
gem 'asciidoctor-epub3'
|
|
|
@ -1,117 +0,0 @@
|
||||||
GEM
|
|
||||||
remote: https://rubygems.org/
|
|
||||||
specs:
|
|
||||||
Ascii85 (1.0.3)
|
|
||||||
addressable (2.5.2)
|
|
||||||
public_suffix (>= 2.0.2, < 4.0)
|
|
||||||
afm (0.2.2)
|
|
||||||
asciidoctor (1.5.6.2)
|
|
||||||
asciidoctor-epub3 (1.5.0.alpha.8)
|
|
||||||
asciidoctor (~> 1.5.0)
|
|
||||||
gepub (~> 0.6.9.2)
|
|
||||||
thread_safe (~> 0.3.6)
|
|
||||||
asciidoctor-pdf (1.5.0.alpha.16)
|
|
||||||
asciidoctor (>= 1.5.0)
|
|
||||||
prawn (>= 1.3.0, < 2.3.0)
|
|
||||||
prawn-icon (= 1.3.0)
|
|
||||||
prawn-svg (>= 0.21.0, < 0.28.0)
|
|
||||||
prawn-table (= 0.2.2)
|
|
||||||
prawn-templates (>= 0.0.3, <= 0.1.1)
|
|
||||||
safe_yaml (~> 1.0.4)
|
|
||||||
thread_safe (~> 0.3.6)
|
|
||||||
treetop (= 1.5.3)
|
|
||||||
coderay (1.1.2)
|
|
||||||
css_parser (1.6.0)
|
|
||||||
addressable
|
|
||||||
ffi (1.9.23)
|
|
||||||
formatador (0.2.5)
|
|
||||||
gepub (0.6.9.2)
|
|
||||||
nokogiri (~> 1.6.1)
|
|
||||||
rubyzip (>= 1.1.1)
|
|
||||||
guard (2.14.2)
|
|
||||||
formatador (>= 0.2.4)
|
|
||||||
listen (>= 2.7, < 4.0)
|
|
||||||
lumberjack (>= 1.0.12, < 2.0)
|
|
||||||
nenv (~> 0.1)
|
|
||||||
notiffany (~> 0.0)
|
|
||||||
pry (>= 0.9.12)
|
|
||||||
shellany (~> 0.0)
|
|
||||||
thor (>= 0.18.1)
|
|
||||||
guard-compat (1.2.1)
|
|
||||||
guard-shell (0.7.1)
|
|
||||||
guard (>= 2.0.0)
|
|
||||||
guard-compat (~> 1.0)
|
|
||||||
hashery (2.1.2)
|
|
||||||
listen (3.1.5)
|
|
||||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
|
||||||
rb-inotify (~> 0.9, >= 0.9.7)
|
|
||||||
ruby_dep (~> 1.2)
|
|
||||||
lumberjack (1.0.13)
|
|
||||||
method_source (0.9.0)
|
|
||||||
mini_portile2 (2.1.0)
|
|
||||||
nenv (0.3.0)
|
|
||||||
nokogiri (1.6.8.1)
|
|
||||||
mini_portile2 (~> 2.1.0)
|
|
||||||
notiffany (0.1.1)
|
|
||||||
nenv (~> 0.1)
|
|
||||||
shellany (~> 0.0)
|
|
||||||
pdf-core (0.7.0)
|
|
||||||
pdf-reader (2.1.0)
|
|
||||||
Ascii85 (~> 1.0.0)
|
|
||||||
afm (~> 0.2.1)
|
|
||||||
hashery (~> 2.0)
|
|
||||||
ruby-rc4
|
|
||||||
ttfunk
|
|
||||||
polyglot (0.3.5)
|
|
||||||
prawn (2.2.2)
|
|
||||||
pdf-core (~> 0.7.0)
|
|
||||||
ttfunk (~> 1.5)
|
|
||||||
prawn-icon (1.3.0)
|
|
||||||
prawn (>= 1.1.0, < 3.0.0)
|
|
||||||
prawn-svg (0.27.1)
|
|
||||||
css_parser (~> 1.3)
|
|
||||||
prawn (>= 0.11.1, < 3)
|
|
||||||
prawn-table (0.2.2)
|
|
||||||
prawn (>= 1.3.0, < 3.0.0)
|
|
||||||
prawn-templates (0.1.1)
|
|
||||||
pdf-reader (~> 2.0)
|
|
||||||
prawn (~> 2.2)
|
|
||||||
pry (0.11.3)
|
|
||||||
coderay (~> 1.1.0)
|
|
||||||
method_source (~> 0.9.0)
|
|
||||||
public_suffix (3.0.2)
|
|
||||||
rake (12.3.1)
|
|
||||||
rb-fsevent (0.10.3)
|
|
||||||
rb-inotify (0.9.10)
|
|
||||||
ffi (>= 0.5.0, < 2)
|
|
||||||
ruby-rc4 (0.1.5)
|
|
||||||
ruby_dep (1.5.0)
|
|
||||||
rubyzip (1.2.1)
|
|
||||||
safe_yaml (1.0.4)
|
|
||||||
shellany (0.0.1)
|
|
||||||
thor (0.20.0)
|
|
||||||
thread_safe (0.3.6)
|
|
||||||
treetop (1.5.3)
|
|
||||||
polyglot (~> 0.3)
|
|
||||||
ttfunk (1.5.1)
|
|
||||||
webrick (1.4.2)
|
|
||||||
|
|
||||||
PLATFORMS
|
|
||||||
ruby
|
|
||||||
|
|
||||||
DEPENDENCIES
|
|
||||||
addressable
|
|
||||||
asciidoctor
|
|
||||||
asciidoctor-epub3
|
|
||||||
asciidoctor-pdf
|
|
||||||
coderay
|
|
||||||
guard
|
|
||||||
guard-shell
|
|
||||||
prawn
|
|
||||||
prawn-svg
|
|
||||||
prawn-templates
|
|
||||||
rake
|
|
||||||
webrick
|
|
||||||
|
|
||||||
BUNDLED WITH
|
|
||||||
1.16.1
|
|
|
@ -1,18 +0,0 @@
|
||||||
Bundler.require :default
|
|
||||||
|
|
||||||
guard 'shell' do
|
|
||||||
watch(/[^\.].*\.adoc$/) do |m|
|
|
||||||
Asciidoctor .convert_file(
|
|
||||||
'index.adoc', to_dir: '_build/', mkdirs: true, safe: :safe,
|
|
||||||
backend: :html5, header_footer: true, sourcemap: true,
|
|
||||||
stylesdir: 'stylesheets',
|
|
||||||
base_dir: './',
|
|
||||||
attributes: {
|
|
||||||
'stylesdir' => 'styles',
|
|
||||||
'imagesdir' => './images',
|
|
||||||
'nofooter' => true,
|
|
||||||
'allow-uri-read' => true,
|
|
||||||
'stylesheet' => 'style.css'
|
|
||||||
})
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -1,75 +0,0 @@
|
||||||
require 'webrick'
|
|
||||||
require 'asciidoctor'
|
|
||||||
require 'asciidoctor-pdf'
|
|
||||||
require 'asciidoctor-epub3'
|
|
||||||
|
|
||||||
desc 'Run doc webserver'
|
|
||||||
task :serve do
|
|
||||||
root = File.expand_path './_build/'
|
|
||||||
`cp images ./_build/images -rv`
|
|
||||||
server = WEBrick::HTTPServer.new Port: 3000, DocumentRoot: root
|
|
||||||
trap 'INT' do server.shutdown end
|
|
||||||
server.start
|
|
||||||
end
|
|
||||||
|
|
||||||
desc 'compile the docs'
|
|
||||||
task :compile do
|
|
||||||
Asciidoctor .convert_file(
|
|
||||||
'index.adoc', to_dir: '_build/', mkdirs: true, safe: :safe,
|
|
||||||
backend: :html5, header_footer: true, sourcemap: true,
|
|
||||||
stylesdir: 'stylesheets',
|
|
||||||
base_dir: './',
|
|
||||||
attributes: {
|
|
||||||
'stylesdir' => 'styles',
|
|
||||||
'imagesdir' => './images',
|
|
||||||
'nofooter' => true,
|
|
||||||
'allow-uri-read' => true,
|
|
||||||
'stylesheet' => 'style.css'
|
|
||||||
})
|
|
||||||
`cp images ./_build/images -rv`
|
|
||||||
Asciidoctor .convert_file(
|
|
||||||
'index.adoc', to_dir: '_build/', mkdirs: true, safe: :safe,
|
|
||||||
backend: :pdf, header_footer: true, sourcemap: true, to_file: 'hellhound.pdf',
|
|
||||||
stylesdir: 'stylesheets',
|
|
||||||
base_dir: './',
|
|
||||||
attributes: {
|
|
||||||
'stylesdir' => 'styles',
|
|
||||||
'imagesdir' => './images',
|
|
||||||
'nofooter' => true,
|
|
||||||
'allow-uri-read' => true,
|
|
||||||
'stylesheet' => 'style.css'
|
|
||||||
})
|
|
||||||
|
|
||||||
Asciidoctor .convert_file(
|
|
||||||
'index.adoc', to_dir: '_build/', mkdirs: true, safe: :safe,
|
|
||||||
backend: :epub3, header_footer: true, sourcemap: true, to_file: 'hellhound.epub',
|
|
||||||
stylesdir: 'stylesheets',
|
|
||||||
base_dir: './',
|
|
||||||
attributes: {
|
|
||||||
'stylesdir' => 'styles',
|
|
||||||
'imagesdir' => './images',
|
|
||||||
'nofooter' => true,
|
|
||||||
'allow-uri-read' => true,
|
|
||||||
'stylesheet' => 'style.css'
|
|
||||||
})
|
|
||||||
|
|
||||||
puts "You need to set KINDLEGEN env."
|
|
||||||
Asciidoctor .convert_file(
|
|
||||||
'index.adoc', to_dir: '_build/', mkdirs: true, safe: :safe,
|
|
||||||
backend: :epub3, header_footer: true, sourcemap: true, to_file: 'hellhound.mobi',
|
|
||||||
stylesdir: 'stylesheets',
|
|
||||||
base_dir: './',
|
|
||||||
attributes: {
|
|
||||||
'ebook-format' => 'kf8',
|
|
||||||
'stylesdir' => 'styles',
|
|
||||||
'imagesdir' => './images',
|
|
||||||
'nofooter' => true,
|
|
||||||
'allow-uri-read' => true,
|
|
||||||
'front-cover-image' => 'image:cover.svg[Front Cover,1050,1050]',
|
|
||||||
'stylesheet' => 'style.css'
|
|
||||||
})
|
|
||||||
`cp images ./_build/ -rv`
|
|
||||||
`rm -rf hellhound-kf8.epub`
|
|
||||||
end
|
|
||||||
|
|
||||||
task default: :serve
|
|
|
@ -1,72 +0,0 @@
|
||||||
= FG42 Editor
|
|
||||||
:Revision: 1.0.0-alpha3
|
|
||||||
:Author: Sameer Rahmani (@lxsameer)
|
|
||||||
:Email: <lxsameer@gnu.org>
|
|
||||||
:homepage: http://fg42.lxsameer.com
|
|
||||||
:icons: font
|
|
||||||
:iconsfont: font-awesome
|
|
||||||
:sectanchors: true
|
|
||||||
:description: The ultimate Editor for true believers.
|
|
||||||
:toc: macro
|
|
||||||
:toc: left
|
|
||||||
:toclevels: 3
|
|
||||||
:toc-title: FG42 Documentation
|
|
||||||
:doctype: book
|
|
||||||
:sectnumlevels: 3
|
|
||||||
:keywords: Emacs, Bundle, Editor, IDE, GNU, Programming
|
|
||||||
:docinfo: shared
|
|
||||||
:type: reference
|
|
||||||
:source-highlighter: coderay
|
|
||||||
:imagesdir: ./images/
|
|
||||||
|
|
||||||
ifdef::backend-html5[]
|
|
||||||
image::https://gitlab.com/FG42/FG42/raw/master/share/icons/hicolor/128x128/apps/fg42.png[FG42,align="center"]
|
|
||||||
++++
|
|
||||||
<div class="center-aligned download-btns">
|
|
||||||
<a href="//gitlab.com/FG42/FG42" class="lxbtn btn-success">
|
|
||||||
<i class="fa fa-github"></i>
|
|
||||||
Github
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href="/guides/hellhound.epub" class="lxbtn btn-success">
|
|
||||||
<i class="fa fa-download"></i>
|
|
||||||
Download
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
++++
|
|
||||||
endif::[]
|
|
||||||
|
|
||||||
---
|
|
||||||
:sectnums:
|
|
||||||
|
|
||||||
== What is FG42
|
|
||||||
*FG42* is a free editor which has built on top of link:https://www.gnu.org/software/emacs/[mighty GNU/Emacs] editor. I you're
|
|
||||||
an Emacs user you're going to find FG42 the ultimate editor for an Emacs guru. But if you're not a user of Emacs afraid no more,
|
|
||||||
Your going to enjoy FG42 as well.
|
|
||||||
|
|
||||||
=== Goals
|
|
||||||
I started FG42 out of my personal need and it grew since then. I refactored the whole thing once and came up with a better
|
|
||||||
API for developing it. So my first goal is to share my own tool with other people who showed lots of interest over these
|
|
||||||
years and my second goal is to make in available for people who are not necessarily Emacs users as well.
|
|
||||||
|
|
||||||
// Getting Started
|
|
||||||
include::getting_started/index.adoc[leveloffset=+1]
|
|
||||||
|
|
||||||
// Credit - Appendix 1
|
|
||||||
include::credit.adoc[leveloffset=+1]
|
|
||||||
|
|
||||||
// Appendix 2
|
|
||||||
include::appendix/contribute.adoc[leveloffset=+1]
|
|
||||||
|
|
||||||
// Appendix 3
|
|
||||||
include::appendix/code_of_conduct.adoc[leveloffset=+1]
|
|
||||||
|
|
||||||
|
|
||||||
[colophon]
|
|
||||||
= Colophon
|
|
||||||
|
|
||||||
The FG42 User Manual
|
|
||||||
|
|
||||||
(C) 2010-2018 by Sameer Rahmani <lxsameer@gnu.org>
|
|
||||||
|
|
||||||
Created in Asciidoctor, Debian Unstable and FG42 Editor.
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
#+AUTHOR: Sameer Rahmani
|
||||||
|
#+EMAIL: lxsameer@gnu.org
|
||||||
|
#+LANGUAGE: en
|
||||||
|
#+OPTIONS: toc:nil <:t
|
||||||
|
#+options: html5-fancy:t tex:t
|
||||||
|
#+html_doctype: html5
|
||||||
|
#+HTML_CONTAINER: div class="column"
|
||||||
|
#+HTML_CONTENT_CLASS: row
|
||||||
|
#+creator: <a href="https://www.gnu.org/software/emacs/">Emacs</a> 27.1 (<a href="https://orgmode.org">Org</a> mode )
|
||||||
|
#+HTML_LINK_HOME: https://fg42.org/
|
|
@ -0,0 +1,7 @@
|
||||||
|
#+SETUPFILE: ../../config.org
|
||||||
|
#+OPTIONS: toc:nil
|
||||||
|
#+EXPORT_FILE_NAME: index.html
|
||||||
|
#+PAGE: true
|
||||||
|
#+TITLE: Categories
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
#+SETUPFILE: ../../config.org
|
||||||
|
#+OPTIONS: toc:nil
|
||||||
|
#+TITLE: <<<title>>>
|
||||||
|
#+PAGE: true
|
||||||
|
|
||||||
|
|
||||||
|
- [[file:../config.org][nil]]
|
|
@ -0,0 +1,13 @@
|
||||||
|
#+SETUPFILE: ../config.org
|
||||||
|
#+OPTIONS: toc:nil
|
||||||
|
#+EXPORT_FILE_NAME: index.html
|
||||||
|
#+DATE: 2021-07-01
|
||||||
|
#+TITLE: FG42, The ultimate editor for true believers
|
||||||
|
#+PAGE: true
|
||||||
|
#+DESC: An GNU/Emacs based editor for hackers
|
||||||
|
|
||||||
|
FG42 in an editor/WM/whatever you want it to be for hackers. It takes a rather different
|
||||||
|
approach to other Emacs disto's. It's like the Gentoo of GNU/Emacs distros
|
||||||
|
|
||||||
|
* Recent updates:
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
#+TITLE: FG42, The ultimate editor for true believers
|
||||||
|
|
||||||
|
- [[file:categories/nil.org][<<<title>>>]]
|
||||||
|
- [[file:tags/index.org][Tags]]
|
||||||
|
- [[file:categories/index.org][Categories]]
|
||||||
|
- [[file:index.org][The little nest of mine]]
|
|
@ -0,0 +1,8 @@
|
||||||
|
#+SETUPFILE: ../../config.org
|
||||||
|
#+OPTIONS: toc:nil
|
||||||
|
#+EXPORT_FILE_NAME: index.html
|
||||||
|
#+PAGE: true
|
||||||
|
#+TITLE: Tags
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
#+TITLE: FG42, The ultimate editor for true believers
|
||||||
|
|
||||||
|
- [[file:categories/nil.org][<<<title>>>]]
|
||||||
|
- [[file:config.org][config]]
|
||||||
|
- [[file:tags/index.org][Tags]]
|
||||||
|
- [[file:categories/index.org][Categories]]
|
||||||
|
- [[file:index.org][The little nest of mine]]
|
||||||
|
- [[file:templates/tags.org][Tags]]
|
||||||
|
- [[file:templates/index.org][The little nest of mine]]
|
||||||
|
- [[file:templates/links_template.org][<<<title>>>]]
|
||||||
|
- [[file:templates/categories.org][Categories]]
|
|
@ -0,0 +1,51 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>{{title}}</title>
|
||||||
|
<meta name="description" content="FG42, The ultimate editor for true believers">
|
||||||
|
<meta name="keywords" content="Emacs, GNU, Editor, Hackers, software, lisp">
|
||||||
|
<meta name="author" content="Sameer Rahmani">
|
||||||
|
<meta property="og:title" content="{{title}}" />
|
||||||
|
<meta property="og:description" content="{{description}}" />
|
||||||
|
|
||||||
|
{{{head}}}
|
||||||
|
<link rel="stylesheet" href="{{base-url}}/assets/styles/dark.css?1">
|
||||||
|
<link rel="stylesheet" href="{{base-url}}/assets/styles/main.css?1">
|
||||||
|
<link rel="stylesheet" href="{{base-url}}/assets/styles/arta.css?1">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<header>
|
||||||
|
<nav style="text-align: center;">
|
||||||
|
<a href="/">HOME</a> | <a href="/categories/">Categories</a> | <a href="/tags/">Tags</a> | <a href="https://devheroes.codes/FG42/FG42">Source</a>
|
||||||
|
</nav>
|
||||||
|
<hr/>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<article>
|
||||||
|
{{{preamble}}}
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<main id="content">
|
||||||
|
{{{content}}}
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<span>© 2010-2021 Sameer Rahmani</span><br/>
|
||||||
|
<span>Built with <a href="https://www.gnu.org/software/emacs/">Emacs Lisp</a> and <a href="https://orgmode.org/">org-mode</a>.</span><br/>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
<script src="{{base-url}}/assets/js/highlight.pack.js"></script>
|
||||||
|
<script>
|
||||||
|
document.addEventListener('DOMContentLoaded', (event) => {
|
||||||
|
hljs.configure({languageDetectRe: /\bsrc-([\w-]+)\b/i})
|
||||||
|
document.querySelectorAll('pre.src').forEach((block) => {
|
||||||
|
console.dir(block);
|
||||||
|
hljs.highlightBlock(block);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,7 @@
|
||||||
|
#+SETUPFILE: ../../config.org
|
||||||
|
#+OPTIONS: toc:nil
|
||||||
|
#+EXPORT_FILE_NAME: index.html
|
||||||
|
#+PAGE: true
|
||||||
|
#+TITLE: Categories
|
||||||
|
|
||||||
|
<<<links>>>
|
|
@ -0,0 +1 @@
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
<div class="container">
|
|
@ -0,0 +1,13 @@
|
||||||
|
#+SETUPFILE: ../config.org
|
||||||
|
#+OPTIONS: toc:nil
|
||||||
|
#+EXPORT_FILE_NAME: index.html
|
||||||
|
#+DATE: 2021-07-01
|
||||||
|
#+TITLE: FG42, The ultimate editor for true believers
|
||||||
|
#+PAGE: true
|
||||||
|
#+DESC: An GNU/Emacs based editor for hackers
|
||||||
|
|
||||||
|
FG42 in an editor/WM/whatever you want it to be for hackers. It takes a rather different
|
||||||
|
approach to other Emacs disto's. It's like the Gentoo of GNU/Emacs distros
|
||||||
|
|
||||||
|
* Recent updates:
|
||||||
|
<<<links>>>
|
|
@ -0,0 +1,7 @@
|
||||||
|
#+SETUPFILE: ../../config.org
|
||||||
|
#+OPTIONS: toc:nil
|
||||||
|
#+TITLE: <<<title>>>
|
||||||
|
#+PAGE: true
|
||||||
|
|
||||||
|
|
||||||
|
<<<links>>>
|
|
@ -0,0 +1 @@
|
||||||
|
<h1>{{title}}</h1>
|
|
@ -0,0 +1,2 @@
|
||||||
|
<h1 class="title">{{title}}</h1>
|
||||||
|
<span class="tags">{{{tags}}}</span> - <time>{{date}}</time>
|
|
@ -0,0 +1,3 @@
|
||||||
|
<div class="tags">
|
||||||
|
<span>{{tags}}</span>
|
||||||
|
</div>
|
|
@ -0,0 +1,8 @@
|
||||||
|
#+SETUPFILE: ../../config.org
|
||||||
|
#+OPTIONS: toc:nil
|
||||||
|
#+EXPORT_FILE_NAME: index.html
|
||||||
|
#+PAGE: true
|
||||||
|
#+TITLE: Tags
|
||||||
|
|
||||||
|
|
||||||
|
<<<links>>>
|
|
@ -1,811 +0,0 @@
|
||||||
@import url("https://fonts.googleapis.com/css?family=Open+Sans");
|
|
||||||
/*! normalize.css v2.1.2 | MIT License | git.io/normalize */
|
|
||||||
/* ========================================================================== HTML5 display definitions ========================================================================== */
|
|
||||||
/** Correct `block` display not defined in IE 8/9. */
|
|
||||||
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; }
|
|
||||||
|
|
||||||
/** Correct `inline-block` display not defined in IE 8/9. */
|
|
||||||
audio, canvas, video { display: inline-block; }
|
|
||||||
|
|
||||||
/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
|
|
||||||
audio:not([controls]) { display: none; height: 0; }
|
|
||||||
|
|
||||||
/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */
|
|
||||||
[hidden], template { display: none; }
|
|
||||||
|
|
||||||
script { display: none !important; }
|
|
||||||
|
|
||||||
/* ========================================================================== Base ========================================================================== */
|
|
||||||
/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
|
|
||||||
html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
|
|
||||||
|
|
||||||
/** Remove default margin. */
|
|
||||||
body { margin: 0; }
|
|
||||||
|
|
||||||
/* ========================================================================== Links ========================================================================== */
|
|
||||||
/** Remove the gray background color from active links in IE 10. */
|
|
||||||
a { background: transparent; }
|
|
||||||
|
|
||||||
/** Address `outline` inconsistency between Chrome and other browsers. */
|
|
||||||
a:focus { outline: thin dotted; }
|
|
||||||
|
|
||||||
/** Improve readability when focused and also mouse hovered in all browsers. */
|
|
||||||
a:active, a:hover { outline: 0; }
|
|
||||||
|
|
||||||
/* ========================================================================== Typography ========================================================================== */
|
|
||||||
/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */
|
|
||||||
h1 { font-size: 2em; margin: 0.67em 0; }
|
|
||||||
|
|
||||||
/** Address styling not present in IE 8/9, Safari 5, and Chrome. */
|
|
||||||
abbr[title] { border-bottom: 1px dotted; }
|
|
||||||
|
|
||||||
/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */
|
|
||||||
b, strong { font-weight: bold; }
|
|
||||||
|
|
||||||
/** Address styling not present in Safari 5 and Chrome. */
|
|
||||||
dfn { font-style: italic; }
|
|
||||||
|
|
||||||
/** Address differences between Firefox and other browsers. */
|
|
||||||
hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; }
|
|
||||||
|
|
||||||
/** Address styling not present in IE 8/9. */
|
|
||||||
mark { background: #ff0; color: #000; }
|
|
||||||
|
|
||||||
/** Correct font family set oddly in Safari 5 and Chrome. */
|
|
||||||
code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; }
|
|
||||||
|
|
||||||
/** Improve readability of pre-formatted text in all browsers. */
|
|
||||||
pre { white-space: pre-wrap; }
|
|
||||||
|
|
||||||
/** Set consistent quote types. */
|
|
||||||
q { quotes: "\201C" "\201D" "\2018" "\2019"; }
|
|
||||||
|
|
||||||
/** Address inconsistent and variable font size in all browsers. */
|
|
||||||
small { font-size: 80%; }
|
|
||||||
|
|
||||||
/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
|
|
||||||
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
|
|
||||||
|
|
||||||
sup { top: -0.5em; }
|
|
||||||
|
|
||||||
sub { bottom: -0.25em; }
|
|
||||||
|
|
||||||
/* ========================================================================== Embedded content ========================================================================== */
|
|
||||||
/** Remove border when inside `a` element in IE 8/9. */
|
|
||||||
img { border: 0; }
|
|
||||||
|
|
||||||
/** Correct overflow displayed oddly in IE 9. */
|
|
||||||
svg:not(:root) { overflow: hidden; }
|
|
||||||
|
|
||||||
/* ========================================================================== Figures ========================================================================== */
|
|
||||||
/** Address margin not present in IE 8/9 and Safari 5. */
|
|
||||||
figure { margin: 0; }
|
|
||||||
|
|
||||||
/* ========================================================================== Forms ========================================================================== */
|
|
||||||
/** Define consistent border, margin, and padding. */
|
|
||||||
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
|
|
||||||
|
|
||||||
/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
|
|
||||||
legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
|
|
||||||
|
|
||||||
/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */
|
|
||||||
button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ }
|
|
||||||
|
|
||||||
/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
|
|
||||||
button, input { line-height: normal; }
|
|
||||||
|
|
||||||
/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */
|
|
||||||
button, select { text-transform: none; }
|
|
||||||
|
|
||||||
/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
|
|
||||||
button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
|
|
||||||
|
|
||||||
/** Re-set default cursor for disabled elements. */
|
|
||||||
button[disabled], html input[disabled] { cursor: default; }
|
|
||||||
|
|
||||||
/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */
|
|
||||||
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
|
|
||||||
|
|
||||||
/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */
|
|
||||||
input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; }
|
|
||||||
|
|
||||||
/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */
|
|
||||||
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
|
|
||||||
|
|
||||||
/** Remove inner padding and border in Firefox 4+. */
|
|
||||||
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
|
|
||||||
|
|
||||||
/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */
|
|
||||||
textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ }
|
|
||||||
|
|
||||||
/* ========================================================================== Tables ========================================================================== */
|
|
||||||
/** Remove most spacing between table cells. */
|
|
||||||
table { border-collapse: collapse; border-spacing: 0; }
|
|
||||||
|
|
||||||
meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; }
|
|
||||||
|
|
||||||
meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; }
|
|
||||||
|
|
||||||
meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; }
|
|
||||||
|
|
||||||
*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
|
|
||||||
|
|
||||||
html, body { font-size: 100%; }
|
|
||||||
|
|
||||||
body { background: white; color: #3f3f3f; padding: 0; margin: 0; font-family: "Open Sans", "DejaVu Serif", serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; }
|
|
||||||
|
|
||||||
a:hover { cursor: pointer; }
|
|
||||||
|
|
||||||
img, object, embed { max-width: 100%; height: auto; }
|
|
||||||
|
|
||||||
object, embed { height: 100%; }
|
|
||||||
|
|
||||||
img { -ms-interpolation-mode: bicubic; }
|
|
||||||
|
|
||||||
#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; }
|
|
||||||
|
|
||||||
.left { float: left !important; }
|
|
||||||
|
|
||||||
.right { float: right !important; }
|
|
||||||
|
|
||||||
.text-left { text-align: left !important; }
|
|
||||||
|
|
||||||
.text-right { text-align: right !important; }
|
|
||||||
|
|
||||||
.text-center { text-align: center !important; }
|
|
||||||
|
|
||||||
.text-justify { text-align: justify !important; }
|
|
||||||
|
|
||||||
.hide { display: none; }
|
|
||||||
|
|
||||||
.antialiased { -webkit-font-smoothing: antialiased; }
|
|
||||||
|
|
||||||
img { display: inline-block; vertical-align: middle; }
|
|
||||||
|
|
||||||
textarea { height: auto; min-height: 50px; }
|
|
||||||
|
|
||||||
select { width: 100%; }
|
|
||||||
|
|
||||||
object, svg { display: inline-block; vertical-align: middle; }
|
|
||||||
|
|
||||||
.center { margin-left: auto; margin-right: auto; }
|
|
||||||
|
|
||||||
.spread { width: 100%; }
|
|
||||||
|
|
||||||
p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; }
|
|
||||||
|
|
||||||
.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.45; color: #c34113; font-weight: normal; margin-top: 0; margin-bottom: 0.25em; }
|
|
||||||
|
|
||||||
/* Typography resets */
|
|
||||||
div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; }
|
|
||||||
|
|
||||||
/* Default Link Styles */
|
|
||||||
a { color: #2156a5; text-decoration: underline; line-height: inherit; }
|
|
||||||
a:hover, a:focus { color: #1d4b8f; }
|
|
||||||
a img { border: none; }
|
|
||||||
|
|
||||||
/* Default paragraph styles */
|
|
||||||
p { text-align: justify; font-family: inherit; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 1.25em; text-rendering: optimizeLegibility; }
|
|
||||||
p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; }
|
|
||||||
|
|
||||||
/* Default header styles */
|
|
||||||
h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: "Open Sans", "DejaVu Sans", sans-serif; font-weight: 300; font-style: normal; color: #E95420; text-rendering: optimizeLegibility; margin-top: 1em; margin-bottom: 0.5em; line-height: 1.0125em; }
|
|
||||||
h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #e99b8f; line-height: 0; }
|
|
||||||
|
|
||||||
h1 { font-size: 2.125em; }
|
|
||||||
|
|
||||||
h2 { font-size: 1.6875em; }
|
|
||||||
|
|
||||||
h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; }
|
|
||||||
|
|
||||||
h4 { font-size: 1.125em; }
|
|
||||||
|
|
||||||
h5 { font-size: 1.125em; }
|
|
||||||
|
|
||||||
h6 { font-size: 1em; }
|
|
||||||
|
|
||||||
hr { border: solid #ddddd8; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; }
|
|
||||||
|
|
||||||
/* Helpful Typography Defaults */
|
|
||||||
em, i { font-style: italic; line-height: inherit; }
|
|
||||||
|
|
||||||
strong, b { font-weight: bold; line-height: inherit; }
|
|
||||||
|
|
||||||
small { font-size: 60%; line-height: inherit; }
|
|
||||||
|
|
||||||
code { font-family: "Droid Sans Mono", "DejaVu Sans Mono", monospace; font-weight: normal; color: rgba(0, 0, 0, 0.9); }
|
|
||||||
|
|
||||||
/* Lists */
|
|
||||||
ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 1.25em; list-style-position: outside; font-family: inherit; }
|
|
||||||
|
|
||||||
ul, ol { margin-left: 1.5em; }
|
|
||||||
ul.no-bullet, ol.no-bullet { margin-left: 1.5em; }
|
|
||||||
|
|
||||||
/* Unordered Lists */
|
|
||||||
ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ }
|
|
||||||
ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; }
|
|
||||||
ul.square { list-style-type: square; }
|
|
||||||
ul.circle { list-style-type: circle; }
|
|
||||||
ul.disc { list-style-type: disc; }
|
|
||||||
ul.no-bullet { list-style: none; }
|
|
||||||
|
|
||||||
/* Ordered Lists */
|
|
||||||
ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; }
|
|
||||||
|
|
||||||
/* Definition Lists */
|
|
||||||
dl dt { margin-bottom: 0.3125em; font-weight: bold; }
|
|
||||||
dl dd { margin-bottom: 1.25em; }
|
|
||||||
|
|
||||||
/* Abbreviations */
|
|
||||||
abbr, acronym { text-transform: uppercase; font-size: 90%; color: #3f3f3f; border-bottom: 1px dotted #ddd; cursor: help; }
|
|
||||||
|
|
||||||
abbr { text-transform: none; }
|
|
||||||
|
|
||||||
/* Blockquotes */
|
|
||||||
blockquote { margin: 0 0 1.25em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; }
|
|
||||||
blockquote cite { display: block; font-size: 0.9375em; color: rgba(0, 0, 0, 0.6); }
|
|
||||||
blockquote cite:before { content: "\2014 \0020"; }
|
|
||||||
blockquote cite a, blockquote cite a:visited { color: rgba(0, 0, 0, 0.6); }
|
|
||||||
|
|
||||||
blockquote, blockquote p { line-height: 1.6; color: rgba(0, 0, 0, 0.85); }
|
|
||||||
|
|
||||||
/* Microformats */
|
|
||||||
.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; }
|
|
||||||
.vcard li { margin: 0; display: block; }
|
|
||||||
.vcard .fn { font-weight: bold; font-size: 0.9375em; }
|
|
||||||
|
|
||||||
.vevent .summary { font-weight: bold; }
|
|
||||||
.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; }
|
|
||||||
|
|
||||||
@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.2; }
|
|
||||||
h1 { font-size: 2.75em; }
|
|
||||||
h2 { font-size: 2.3125em; }
|
|
||||||
h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; }
|
|
||||||
h4 { font-size: 1.4375em; } }
|
|
||||||
/* Tables */
|
|
||||||
table { background: #fff; margin-bottom: 1.25em; border: solid 1px #dedede; }
|
|
||||||
table thead, table tfoot { background: #f7f8f7; font-weight: bold; }
|
|
||||||
table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #3f3f3f; text-align: left; }
|
|
||||||
table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #3f3f3f; }
|
|
||||||
table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f7; }
|
|
||||||
table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.6; }
|
|
||||||
|
|
||||||
body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; }
|
|
||||||
|
|
||||||
h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.2; word-spacing: -0.05em; }
|
|
||||||
h1 strong, h2 strong, h3 strong, #toctitle strong, .sidebarblock > .content > .title strong, h4 strong, h5 strong, h6 strong { font-weight: 400; }
|
|
||||||
|
|
||||||
.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; }
|
|
||||||
.clearfix:after, .float-group:after { clear: both; }
|
|
||||||
|
|
||||||
*:not(pre) > code { font-size: 0.9375em; font-style: normal !important; letter-spacing: 0; padding: 0.1em 0.5ex; word-spacing: -0.15em; background-color: #f7f7f8; -webkit-border-radius: 4px; border-radius: 4px; line-height: 1.45; text-rendering: optimizeSpeed; word-wrap: break-word; }
|
|
||||||
*:not(pre) > code.nobreak { word-wrap: normal; }
|
|
||||||
*:not(pre) > code.nowrap { white-space: nowrap; }
|
|
||||||
|
|
||||||
pre, pre > code { line-height: 1.45; color: rgba(0, 0, 0, 0.9); font-family: "Droid Sans Mono", "DejaVu Sans Mono", "Monospace", monospace; font-weight: normal; text-rendering: optimizeSpeed; }
|
|
||||||
|
|
||||||
em em { font-style: normal; }
|
|
||||||
|
|
||||||
strong strong { font-weight: normal; }
|
|
||||||
|
|
||||||
.keyseq { color: #727272; }
|
|
||||||
|
|
||||||
kbd { font-family: "Droid Sans Mono", "DejaVu Sans Mono", monospace; display: inline-block; color: #3f3f3f; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; }
|
|
||||||
|
|
||||||
.keyseq kbd:first-child { margin-left: 0; }
|
|
||||||
|
|
||||||
.keyseq kbd:last-child { margin-right: 0; }
|
|
||||||
|
|
||||||
.menuseq, .menuref { color: #000; }
|
|
||||||
|
|
||||||
.menuseq b:not(.caret), .menuref { font-weight: inherit; }
|
|
||||||
|
|
||||||
.menuseq { word-spacing: -0.02em; }
|
|
||||||
.menuseq b.caret { font-size: 1.25em; line-height: 0.8; }
|
|
||||||
.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; }
|
|
||||||
|
|
||||||
b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; }
|
|
||||||
|
|
||||||
b.button:before { content: "["; padding: 0 3px 0 2px; }
|
|
||||||
|
|
||||||
b.button:after { content: "]"; padding: 0 2px 0 3px; }
|
|
||||||
|
|
||||||
p a > code:hover { color: rgba(0, 0, 0, 0.9); }
|
|
||||||
|
|
||||||
#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 0.9375em; padding-right: 0.9375em; }
|
|
||||||
#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; }
|
|
||||||
#header:after, #content:after, #footnotes:after, #footer:after { clear: both; }
|
|
||||||
|
|
||||||
#content { margin-top: 1.25em; }
|
|
||||||
|
|
||||||
#content:before { content: none; }
|
|
||||||
|
|
||||||
#header > h1:first-child { color: rgba(0, 0, 0, 0.85); margin-top: 2.25rem; margin-bottom: 0; }
|
|
||||||
#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddddd8; }
|
|
||||||
#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddddd8; padding-bottom: 8px; }
|
|
||||||
#header .details { border-bottom: 1px solid #ddddd8; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: rgba(0, 0, 0, 0.6); display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; }
|
|
||||||
#header .details span:first-child { margin-left: -0.125em; }
|
|
||||||
#header .details span.email a { color: rgba(0, 0, 0, 0.85); }
|
|
||||||
#header .details br { display: none; }
|
|
||||||
#header .details br + span:before { content: "\00a0\2013\00a0"; }
|
|
||||||
#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: rgba(0, 0, 0, 0.85); }
|
|
||||||
#header .details br + span#revremark:before { content: "\00a0|\00a0"; }
|
|
||||||
#header #revnumber { text-transform: capitalize; }
|
|
||||||
#header #revnumber:after { content: "\00a0"; }
|
|
||||||
|
|
||||||
#content > h1:first-child:not([class]) { color: rgba(0, 0, 0, 0.85); border-bottom: 1px solid #ddddd8; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; }
|
|
||||||
|
|
||||||
#toc { border-bottom: 1px solid #efefed; padding-bottom: 0.5em; }
|
|
||||||
#toc > ul { margin-left: 0.125em; }
|
|
||||||
#toc ul.sectlevel0 > li > a { font-style: italic; }
|
|
||||||
#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; }
|
|
||||||
#toc ul { font-family: "Open Sans", "DejaVu Sans", sans-serif; list-style-type: none; }
|
|
||||||
#toc li { line-height: 1.3334; margin-top: 0.3334em; }
|
|
||||||
#toc a { text-decoration: none; }
|
|
||||||
#toc a:active { text-decoration: underline; }
|
|
||||||
|
|
||||||
#toctitle { color: #c34113; font-size: 1.2em; }
|
|
||||||
|
|
||||||
@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; }
|
|
||||||
body.toc2 { padding-left: 15em; padding-right: 0; }
|
|
||||||
#toc.toc2 { margin-top: 0 !important; background-color: #f8f8f7; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #efefed; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; }
|
|
||||||
#toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; }
|
|
||||||
#toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; }
|
|
||||||
#toc.toc2 ul ul { margin-left: 0; padding-left: 1em; }
|
|
||||||
#toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; }
|
|
||||||
body.toc2.toc-right { padding-left: 0; padding-right: 15em; }
|
|
||||||
body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #efefed; left: auto; right: 0; } }
|
|
||||||
@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; }
|
|
||||||
#toc.toc2 { width: 20em; }
|
|
||||||
#toc.toc2 #toctitle { font-size: 1.375em; }
|
|
||||||
#toc.toc2 > ul { font-size: 0.95em; }
|
|
||||||
#toc.toc2 ul ul { padding-left: 1.25em; }
|
|
||||||
body.toc2.toc-right { padding-left: 0; padding-right: 20em; } }
|
|
||||||
#content #toc { border-style: solid; border-width: 1px; border-color: #e0e0dc; margin-bottom: 1.25em; padding: 1.25em; background: #f8f8f7; -webkit-border-radius: 4px; border-radius: 4px; }
|
|
||||||
#content #toc > :first-child { margin-top: 0; }
|
|
||||||
#content #toc > :last-child { margin-bottom: 0; }
|
|
||||||
|
|
||||||
#footer { max-width: 100%; background-color: #fff; padding: 1.25em; border-top: 1px solid #cececf; font-size: 0.9em; }
|
|
||||||
|
|
||||||
#footer-text { color: #3f3f3f; line-height: 1.44; }
|
|
||||||
|
|
||||||
#content { margin-bottom: 0.625em; }
|
|
||||||
|
|
||||||
.sect1 { padding-bottom: 0.625em; }
|
|
||||||
|
|
||||||
@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; }
|
|
||||||
.sect1 { padding-bottom: 1.25em; } }
|
|
||||||
.sect1:last-child { padding-bottom: 0; }
|
|
||||||
|
|
||||||
.sect1 + .sect1 { border-top: 1px solid #efefed; }
|
|
||||||
|
|
||||||
#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; }
|
|
||||||
#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; }
|
|
||||||
#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; }
|
|
||||||
#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: #E95420; text-decoration: none; }
|
|
||||||
#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: #a53221; }
|
|
||||||
|
|
||||||
.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; }
|
|
||||||
|
|
||||||
.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; font-family: "Open Sans", "DejaVu Serif", serif; font-size: 1rem; font-style: italic; }
|
|
||||||
|
|
||||||
table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; }
|
|
||||||
|
|
||||||
.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: rgba(0, 0, 0, 0.85); }
|
|
||||||
|
|
||||||
table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; }
|
|
||||||
|
|
||||||
.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; }
|
|
||||||
.admonitionblock > table td.icon { text-align: center; width: 80px; }
|
|
||||||
.admonitionblock > table td.icon img { max-width: initial; }
|
|
||||||
.admonitionblock > table td.icon .title { font-weight: bold; font-family: "Open Sans", "DejaVu Sans", sans-serif; text-transform: uppercase; }
|
|
||||||
.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddddd8; color: rgba(0, 0, 0, 0.6); }
|
|
||||||
.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; }
|
|
||||||
|
|
||||||
.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: white; -webkit-border-radius: 4px; border-radius: 4px; }
|
|
||||||
.exampleblock > .content > :first-child { margin-top: 0; }
|
|
||||||
.exampleblock > .content > :last-child { margin-bottom: 0; }
|
|
||||||
|
|
||||||
.sidebarblock { border-style: solid; border-width: 1px; border-color: #e0e0dc; margin-bottom: 1.25em; padding: 1.25em; background: #f8f8f7; -webkit-border-radius: 4px; border-radius: 4px; }
|
|
||||||
.sidebarblock > :first-child { margin-top: 0; }
|
|
||||||
.sidebarblock > :last-child { margin-bottom: 0; }
|
|
||||||
.sidebarblock > .content > .title { color: #c34113; margin-top: 0; text-align: center; }
|
|
||||||
|
|
||||||
.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; }
|
|
||||||
|
|
||||||
.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #f7f7f8; }
|
|
||||||
.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; }
|
|
||||||
|
|
||||||
.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { -webkit-border-radius: 4px; border-radius: 4px; word-wrap: break-word; padding: 1em; font-size: 0.8125em; }
|
|
||||||
.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; }
|
|
||||||
@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } }
|
|
||||||
@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } }
|
|
||||||
|
|
||||||
.literalblock.output pre { color: #f7f7f8; background-color: rgba(0, 0, 0, 0.9); }
|
|
||||||
|
|
||||||
.listingblock pre.highlightjs { padding: 0; }
|
|
||||||
.listingblock pre.highlightjs > code { padding: 1em; -webkit-border-radius: 4px; border-radius: 4px; }
|
|
||||||
|
|
||||||
.listingblock pre.prettyprint { border-width: 0; }
|
|
||||||
|
|
||||||
.listingblock > .content { position: relative; }
|
|
||||||
|
|
||||||
.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; }
|
|
||||||
|
|
||||||
.listingblock:hover code[data-lang]:before { display: block; }
|
|
||||||
|
|
||||||
.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; }
|
|
||||||
|
|
||||||
.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; }
|
|
||||||
|
|
||||||
table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; }
|
|
||||||
|
|
||||||
table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.45; }
|
|
||||||
|
|
||||||
table.pyhltable td.code { padding-left: .75em; padding-right: 0; }
|
|
||||||
|
|
||||||
pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddddd8; }
|
|
||||||
|
|
||||||
pre.pygments .lineno { display: inline-block; margin-right: .25em; }
|
|
||||||
|
|
||||||
table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; }
|
|
||||||
|
|
||||||
.quoteblock { margin: 0 1em 1.25em 1.5em; display: table; }
|
|
||||||
.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; }
|
|
||||||
.quoteblock blockquote, .quoteblock blockquote p { color: rgba(0, 0, 0, 0.85); font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; }
|
|
||||||
.quoteblock blockquote { margin: 0; padding: 0; border: 0; }
|
|
||||||
.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: #c34113; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); }
|
|
||||||
.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; }
|
|
||||||
.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; }
|
|
||||||
.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid rgba(0, 0, 0, 0.6); }
|
|
||||||
.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; }
|
|
||||||
.quoteblock .quoteblock blockquote:before { display: none; }
|
|
||||||
|
|
||||||
.verseblock { margin: 0 1em 1.25em 1em; }
|
|
||||||
.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: rgba(0, 0, 0, 0.85); font-weight: 300; text-rendering: optimizeLegibility; }
|
|
||||||
.verseblock pre strong { font-weight: 400; }
|
|
||||||
.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; }
|
|
||||||
|
|
||||||
.quoteblock .attribution, .verseblock .attribution { font-size: 0.9375em; line-height: 1.45; font-style: italic; }
|
|
||||||
.quoteblock .attribution br, .verseblock .attribution br { display: none; }
|
|
||||||
.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: rgba(0, 0, 0, 0.6); }
|
|
||||||
|
|
||||||
.quoteblock.abstract { margin: 0 0 1.25em 0; display: block; }
|
|
||||||
.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; }
|
|
||||||
.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; }
|
|
||||||
|
|
||||||
table.tableblock { max-width: 100%; border-collapse: separate; }
|
|
||||||
table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; }
|
|
||||||
|
|
||||||
table.tableblock, th.tableblock, td.tableblock { border: 0 solid #dedede; }
|
|
||||||
|
|
||||||
table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; }
|
|
||||||
|
|
||||||
table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; }
|
|
||||||
|
|
||||||
table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; }
|
|
||||||
|
|
||||||
table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; }
|
|
||||||
|
|
||||||
table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; }
|
|
||||||
|
|
||||||
table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; }
|
|
||||||
|
|
||||||
table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; }
|
|
||||||
|
|
||||||
table.frame-all { border-width: 1px; }
|
|
||||||
|
|
||||||
table.frame-sides { border-width: 0 1px; }
|
|
||||||
|
|
||||||
table.frame-topbot { border-width: 1px 0; }
|
|
||||||
|
|
||||||
th.halign-left, td.halign-left { text-align: left; }
|
|
||||||
|
|
||||||
th.halign-right, td.halign-right { text-align: right; }
|
|
||||||
|
|
||||||
th.halign-center, td.halign-center { text-align: center; }
|
|
||||||
|
|
||||||
th.valign-top, td.valign-top { vertical-align: top; }
|
|
||||||
|
|
||||||
th.valign-bottom, td.valign-bottom { vertical-align: bottom; }
|
|
||||||
|
|
||||||
th.valign-middle, td.valign-middle { vertical-align: middle; }
|
|
||||||
|
|
||||||
table thead th, table tfoot th { font-weight: bold; }
|
|
||||||
|
|
||||||
tbody tr th { display: table-cell; line-height: 1.6; background: #f7f8f7; }
|
|
||||||
|
|
||||||
tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #3f3f3f; font-weight: bold; }
|
|
||||||
|
|
||||||
p.tableblock > code:only-child { background: none; padding: 0; }
|
|
||||||
|
|
||||||
p.tableblock { font-size: 1em; }
|
|
||||||
|
|
||||||
td > div.verse { white-space: pre; }
|
|
||||||
|
|
||||||
ol { margin-left: 1.75em; }
|
|
||||||
|
|
||||||
ul li ol { margin-left: 1.5em; }
|
|
||||||
|
|
||||||
dl dd { margin-left: 1.125em; }
|
|
||||||
|
|
||||||
dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; }
|
|
||||||
|
|
||||||
ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.625em; }
|
|
||||||
|
|
||||||
ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; }
|
|
||||||
|
|
||||||
ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; }
|
|
||||||
|
|
||||||
ul.unstyled, ol.unstyled { margin-left: 0; }
|
|
||||||
|
|
||||||
ul.checklist { margin-left: 0.625em; }
|
|
||||||
|
|
||||||
ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; }
|
|
||||||
|
|
||||||
ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; }
|
|
||||||
|
|
||||||
ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.625em -1.25em; }
|
|
||||||
|
|
||||||
ul.inline > li { margin-left: 1.25em; }
|
|
||||||
|
|
||||||
.unstyled dl dt { font-weight: normal; font-style: normal; }
|
|
||||||
|
|
||||||
ol.arabic { list-style-type: decimal; }
|
|
||||||
|
|
||||||
ol.decimal { list-style-type: decimal-leading-zero; }
|
|
||||||
|
|
||||||
ol.loweralpha { list-style-type: lower-alpha; }
|
|
||||||
|
|
||||||
ol.upperalpha { list-style-type: upper-alpha; }
|
|
||||||
|
|
||||||
ol.lowerroman { list-style-type: lower-roman; }
|
|
||||||
|
|
||||||
ol.upperroman { list-style-type: upper-roman; }
|
|
||||||
|
|
||||||
ol.lowergreek { list-style-type: lower-greek; }
|
|
||||||
|
|
||||||
.hdlist > table, .colist > table { border: 0; background: none; }
|
|
||||||
.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; }
|
|
||||||
|
|
||||||
td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; }
|
|
||||||
|
|
||||||
td.hdlist1 { font-weight: bold; padding-bottom: 1.25em; }
|
|
||||||
|
|
||||||
.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; }
|
|
||||||
|
|
||||||
.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; }
|
|
||||||
.colist > table tr > td:first-of-type img { max-width: initial; }
|
|
||||||
.colist > table tr > td:last-of-type { padding: 0.25em 0; }
|
|
||||||
|
|
||||||
.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; }
|
|
||||||
|
|
||||||
.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; }
|
|
||||||
.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; }
|
|
||||||
.imageblock > .title { margin-bottom: 0; }
|
|
||||||
.imageblock.thumb, .imageblock.th { border-width: 6px; }
|
|
||||||
.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; }
|
|
||||||
|
|
||||||
.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; }
|
|
||||||
.image.left { margin-right: 0.625em; }
|
|
||||||
.image.right { margin-left: 0.625em; }
|
|
||||||
|
|
||||||
a.image { text-decoration: none; display: inline-block; }
|
|
||||||
a.image object { pointer-events: none; }
|
|
||||||
|
|
||||||
sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; }
|
|
||||||
sup.footnote a, sup.footnoteref a { text-decoration: none; }
|
|
||||||
sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; }
|
|
||||||
|
|
||||||
#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; }
|
|
||||||
#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; }
|
|
||||||
#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; }
|
|
||||||
#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; }
|
|
||||||
#footnotes .footnote:last-of-type { margin-bottom: 0; }
|
|
||||||
#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; }
|
|
||||||
|
|
||||||
.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; }
|
|
||||||
.gist .file-data > table td.line-data { width: 99%; }
|
|
||||||
|
|
||||||
div.unbreakable { page-break-inside: avoid; }
|
|
||||||
|
|
||||||
.big { font-size: larger; }
|
|
||||||
|
|
||||||
.small { font-size: smaller; }
|
|
||||||
|
|
||||||
.underline { text-decoration: underline; }
|
|
||||||
|
|
||||||
.overline { text-decoration: overline; }
|
|
||||||
|
|
||||||
.line-through { text-decoration: line-through; }
|
|
||||||
|
|
||||||
.aqua { color: #00bfbf; }
|
|
||||||
|
|
||||||
.aqua-background { background-color: #00fafa; }
|
|
||||||
|
|
||||||
.black { color: black; }
|
|
||||||
|
|
||||||
.black-background { background-color: black; }
|
|
||||||
|
|
||||||
.blue { color: #0000bf; }
|
|
||||||
|
|
||||||
.blue-background { background-color: #0000fa; }
|
|
||||||
|
|
||||||
.fuchsia { color: #bf00bf; }
|
|
||||||
|
|
||||||
.fuchsia-background { background-color: #fa00fa; }
|
|
||||||
|
|
||||||
.gray { color: #606060; }
|
|
||||||
|
|
||||||
.gray-background { background-color: #7d7d7d; }
|
|
||||||
|
|
||||||
.green { color: #006000; }
|
|
||||||
|
|
||||||
.green-background { background-color: #007d00; }
|
|
||||||
|
|
||||||
.lime { color: #00bf00; }
|
|
||||||
|
|
||||||
.lime-background { background-color: #00fa00; }
|
|
||||||
|
|
||||||
.maroon { color: #600000; }
|
|
||||||
|
|
||||||
.maroon-background { background-color: #7d0000; }
|
|
||||||
|
|
||||||
.navy { color: #000060; }
|
|
||||||
|
|
||||||
.navy-background { background-color: #00007d; }
|
|
||||||
|
|
||||||
.olive { color: #606000; }
|
|
||||||
|
|
||||||
.olive-background { background-color: #7d7d00; }
|
|
||||||
|
|
||||||
.purple { color: #600060; }
|
|
||||||
|
|
||||||
.purple-background { background-color: #7d007d; }
|
|
||||||
|
|
||||||
.red { color: #bf0000; }
|
|
||||||
|
|
||||||
.red-background { background-color: #fa0000; }
|
|
||||||
|
|
||||||
.silver { color: #909090; }
|
|
||||||
|
|
||||||
.silver-background { background-color: #bcbcbc; }
|
|
||||||
|
|
||||||
.teal { color: #006060; }
|
|
||||||
|
|
||||||
.teal-background { background-color: #007d7d; }
|
|
||||||
|
|
||||||
.white { color: #bfbfbf; }
|
|
||||||
|
|
||||||
.white-background { background-color: #fafafa; }
|
|
||||||
|
|
||||||
.yellow { color: #bfbf00; }
|
|
||||||
|
|
||||||
.yellow-background { background-color: #fafa00; }
|
|
||||||
|
|
||||||
span.icon > .fa { cursor: default; }
|
|
||||||
a span.icon > .fa { cursor: inherit; }
|
|
||||||
|
|
||||||
.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; }
|
|
||||||
.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #19407c; }
|
|
||||||
.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; }
|
|
||||||
.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; }
|
|
||||||
.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; }
|
|
||||||
.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; }
|
|
||||||
|
|
||||||
.conum[data-value] { display: inline-block; color: #fff !important; background-color: #3f3f3f; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; }
|
|
||||||
.conum[data-value] * { color: #fff !important; }
|
|
||||||
.conum[data-value] + b { display: none; }
|
|
||||||
.conum[data-value]:after { content: attr(data-value); }
|
|
||||||
pre .conum[data-value] { position: relative; top: -0.125em; }
|
|
||||||
|
|
||||||
b.conum * { color: inherit !important; }
|
|
||||||
|
|
||||||
.conum:not([data-value]):empty { display: none; }
|
|
||||||
|
|
||||||
dt, th.tableblock, td.content, div.footnote { text-rendering: optimizeLegibility; }
|
|
||||||
|
|
||||||
h1, h2, p, td.content, span.alt { letter-spacing: -0.01em; }
|
|
||||||
|
|
||||||
p strong, td.content strong, div.footnote strong { letter-spacing: -0.005em; }
|
|
||||||
|
|
||||||
p, blockquote, dt, td.content, span.alt { font-size: 1.0625rem; }
|
|
||||||
|
|
||||||
p { margin-bottom: 1.25rem; }
|
|
||||||
|
|
||||||
.sidebarblock p, .sidebarblock dt, .sidebarblock td.content, p.tableblock { font-size: 1em; }
|
|
||||||
|
|
||||||
.exampleblock > .content { background-color: #fffef7; border-color: #e0e0dc; -moz-box-shadow: 0 1px 4px #e0e0dc; -webkit-box-shadow: 0 1px 4px #e0e0dc; box-shadow: 0 1px 4px #e0e0dc; }
|
|
||||||
|
|
||||||
.imageblock .title { text-align: center; }
|
|
||||||
|
|
||||||
.print-only { display: none !important; }
|
|
||||||
|
|
||||||
@media print { @page { margin: 1.25cm 0.75cm; }
|
|
||||||
* { -moz-box-shadow: none !important; -webkit-box-shadow: none !important; box-shadow: none !important; text-shadow: none !important; }
|
|
||||||
a { color: inherit !important; text-decoration: underline !important; }
|
|
||||||
a.bare, a[href^="#"], a[href^="mailto:"] { text-decoration: none !important; }
|
|
||||||
a[href^="http:"]:not(.bare):after, a[href^="https:"]:not(.bare):after { content: "(" attr(href) ")"; display: inline-block; font-size: 0.875em; padding-left: 0.25em; }
|
|
||||||
abbr[title]:after { content: " (" attr(title) ")"; }
|
|
||||||
pre, blockquote, tr, img, object, svg { page-break-inside: avoid; }
|
|
||||||
thead { display: table-header-group; }
|
|
||||||
svg { max-width: 100%; }
|
|
||||||
p, blockquote, dt, td.content { font-size: 1em; orphans: 3; widows: 3; }
|
|
||||||
h2, h3, #toctitle, .sidebarblock > .content > .title, #toctitle, .sidebarblock > .content > .title { page-break-after: avoid; }
|
|
||||||
#toc, .sidebarblock, .exampleblock > .content { background: none !important; }
|
|
||||||
#toc { border-bottom: 1px solid #ddddd8 !important; padding-bottom: 0 !important; }
|
|
||||||
.sect1 { padding-bottom: 0 !important; }
|
|
||||||
.sect1 + .sect1 { border: 0 !important; }
|
|
||||||
#header > h1:first-child { margin-top: 1.25rem; }
|
|
||||||
body.book #header { text-align: center; }
|
|
||||||
body.book #header > h1:first-child { border: 0 !important; margin: 2.5em 0 1em 0; }
|
|
||||||
body.book #header .details { border: 0 !important; display: block; padding: 0 !important; }
|
|
||||||
body.book #header .details span:first-child { margin-left: 0 !important; }
|
|
||||||
body.book #header .details br { display: block; }
|
|
||||||
body.book #header .details br + span:before { content: none !important; }
|
|
||||||
body.book #toc { border: 0 !important; text-align: left !important; padding: 0 !important; margin: 0 !important; }
|
|
||||||
body.book #toc, body.book #preamble, body.book h1.sect0, body.book .sect1 > h2 { page-break-before: always; }
|
|
||||||
.listingblock code[data-lang]:before { display: block; }
|
|
||||||
#footer { background: none !important; padding: 0 0.9375em; }
|
|
||||||
#footer-text { color: rgba(0, 0, 0, 0.6) !important; font-size: 0.9em; }
|
|
||||||
.hide-on-print { display: none !important; }
|
|
||||||
.print-only { display: block !important; }
|
|
||||||
.hide-for-print { display: none !important; }
|
|
||||||
.show-for-print { display: inherit !important; } }
|
|
||||||
.videoblock { text-align: center; }
|
|
||||||
|
|
||||||
.videoblock iframe { border: 1px solid #bfbfbf; }
|
|
||||||
|
|
||||||
code b.conum {
|
|
||||||
display: inline-block;
|
|
||||||
color: #fff!important;
|
|
||||||
background-color: rgba(0,0,0,.8);
|
|
||||||
border-radius: 100px;
|
|
||||||
text-align: center;
|
|
||||||
font-size: .75em;
|
|
||||||
width: 1.67em;
|
|
||||||
height: 1.67em;
|
|
||||||
line-height: 1.67em;
|
|
||||||
font-family: "Open Sans","DejaVu Sans",sans-serif;
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.center-aligned {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.download-btns {
|
|
||||||
padding-top: 20px;
|
|
||||||
margin-bottom: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lxbtn {
|
|
||||||
border-radius: 4px;
|
|
||||||
padding: 10px 15px;
|
|
||||||
text-decoration: none !important;
|
|
||||||
margin: 20px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-primary {
|
|
||||||
background: #e95420;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-success {
|
|
||||||
background: #772953;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-success:hover, .btn-success:active, .btn-success:visited {
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-success:hover {
|
|
||||||
background: #511c39;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-info {
|
|
||||||
background: #E29400;
|
|
||||||
color: white;
|
|
||||||
}
|
|
|
@ -42,7 +42,7 @@
|
||||||
(if fg42-v3 "v3.el" "el")))
|
(if fg42-v3 "v3.el" "el")))
|
||||||
|
|
||||||
|
|
||||||
;; Load the customization file. In FG42 it is different than
|
;; Load the custom ization file. In FG42 it is different than
|
||||||
;; the default `user-init-file'
|
;; the default `user-init-file'
|
||||||
(if (file-exists-p custom-file)
|
(if (file-exists-p custom-file)
|
||||||
(load custom-file))
|
(load custom-file))
|
||||||
|
|
Loading…
Reference in New Issue