diff --git a/.gitignore b/.gitignore index 521ab2d..0120a24 100644 --- a/.gitignore +++ b/.gitignore @@ -42,4 +42,5 @@ website/.*.swp website/*~ #*# -emacs.d/ \ No newline at end of file +emacs.d/ +build/ \ No newline at end of file diff --git a/CNAME b/CNAME deleted file mode 100644 index ce26bee..0000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -fg42.lxsameer.com \ No newline at end of file diff --git a/Makefile b/Makefile index b995c43..662f2dc 100644 --- a/Makefile +++ b/Makefile @@ -61,9 +61,16 @@ compile: clean: @rm -rf $(shell find `pwd` -iname "*~") @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: Xephyr -br -ac -noreset -screen 800x600 :1 .PHONY: test-wm diff --git a/build.el b/build.el old mode 100644 new mode 100755 index c373226..ed94a55 --- a/build.el +++ b/build.el @@ -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 +;; Copyright (c) 2010-2021 Sameer Rahmani & Contributors ;; ;; Author: Sameer Rahmani -;; Keywords: lisp fg42 IDE package manager -;; Version: 1.0.0 +;; URL: https://gitlab.com/FG42/FG42 +;; Version: 3.0.0 ;; ;; 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 @@ -17,48 +18,87 @@ ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . +;; along with thnis program. If not, see . ;; ;;; 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: + (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) -(require 'fpkg) -(setq fg42-home (concat (getenv "HOME") "/.fg42/")) -(setq fg42-tmp (concat fg42-home "/tmp")) -(theme themes/color-theme-doom-one) +(setq user-emacs-directory (concat (getenv "HOME") "/.fg42/emacs.d")) +(add-to-list 'load-path (concat (getenv "HOME") "/.fg42/core")) -(i-am-god) -(disable 'rbenv 'helm 'spell 'linum 'tabbar - 'smart-mode-line 'desktop-mode 'jedi - 'dired+ 'guru 'emoji 'elpy 'github - 'versioned-backup) +(require 'fg42/build/core) -(activate-extensions 'editor - 'development - 'web - 'editor-theme - 'javascript - 'ruby - 'clojure - 'haskell - 'php - 'common-lisp - 'python - 'serene - 'typescript - 'arduino - 'java - 'racket - 'irc - 'latex) +(defvar FG42-VERSION "3.0.0-snapshot" + "The version number of the current build of FG42.") -(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) ;;; build.el ends here diff --git a/config/fg42.user.v3.el b/config/fg42.user.v3.el index 987c025..a631caa 100644 --- a/config/fg42.user.v3.el +++ b/config/fg42.user.v3.el @@ -37,6 +37,7 @@ (require 'cubes/java) (require 'cubes/snippets) (require 'cubes/org) +(require 'cubes/git) ;; ============== MY STUFF ============================== (custom-set-faces @@ -127,6 +128,7 @@ ("irc.oftc.net" :channels ("#llvm") :nick "lxsameer"))) (fg42/vterm-cube) +(fg42/git-cube) (fg42/java-cube) (fg42/yasnippet-cube) ;; Themes should be the last cube and anything that wants to manipulate a face diff --git a/docs/CNAME b/docs/CNAME deleted file mode 100644 index 50daa24..0000000 --- a/docs/CNAME +++ /dev/null @@ -1 +0,0 @@ -fg42.lxsameer.com diff --git a/docs/Gemfile b/docs/Gemfile deleted file mode 100644 index 0358395..0000000 --- a/docs/Gemfile +++ /dev/null @@ -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' diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock deleted file mode 100644 index 72e6d51..0000000 --- a/docs/Gemfile.lock +++ /dev/null @@ -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 diff --git a/docs/Guardfile b/docs/Guardfile deleted file mode 100644 index 978876e..0000000 --- a/docs/Guardfile +++ /dev/null @@ -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 diff --git a/docs/Rakefile b/docs/Rakefile deleted file mode 100644 index e31fee8..0000000 --- a/docs/Rakefile +++ /dev/null @@ -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 diff --git a/docs/index.adoc b/docs/index.adoc deleted file mode 100644 index 5686f08..0000000 --- a/docs/index.adoc +++ /dev/null @@ -1,72 +0,0 @@ -= FG42 Editor -:Revision: 1.0.0-alpha3 -:Author: Sameer Rahmani (@lxsameer) -:Email: -: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"] -++++ - -++++ -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 - -Created in Asciidoctor, Debian Unstable and FG42 Editor. diff --git a/docs/site/config.org b/docs/site/config.org new file mode 100644 index 0000000..a24ec21 --- /dev/null +++ b/docs/site/config.org @@ -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: Emacs 27.1 (Org mode ) +#+HTML_LINK_HOME: https://fg42.org/ diff --git a/docs/site/orgs/categories/.keep b/docs/site/orgs/categories/.keep new file mode 100644 index 0000000..e69de29 diff --git a/docs/site/orgs/categories/index.org b/docs/site/orgs/categories/index.org new file mode 100644 index 0000000..19de9be --- /dev/null +++ b/docs/site/orgs/categories/index.org @@ -0,0 +1,7 @@ +#+SETUPFILE: ../../config.org +#+OPTIONS: toc:nil +#+EXPORT_FILE_NAME: index.html +#+PAGE: true +#+TITLE: Categories + + diff --git a/docs/site/orgs/categories/nil.org b/docs/site/orgs/categories/nil.org new file mode 100644 index 0000000..1a2dbee --- /dev/null +++ b/docs/site/orgs/categories/nil.org @@ -0,0 +1,7 @@ +#+SETUPFILE: ../../config.org +#+OPTIONS: toc:nil +#+TITLE: <<>> +#+PAGE: true + + +- [[file:../config.org][nil]] diff --git a/docs/site/orgs/index.org b/docs/site/orgs/index.org new file mode 100644 index 0000000..0cd5c1e --- /dev/null +++ b/docs/site/orgs/index.org @@ -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: + diff --git a/docs/site/orgs/sitemap.inc b/docs/site/orgs/sitemap.inc new file mode 100644 index 0000000..e997824 --- /dev/null +++ b/docs/site/orgs/sitemap.inc @@ -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]] \ No newline at end of file diff --git a/docs/site/orgs/tags/.keep b/docs/site/orgs/tags/.keep new file mode 100644 index 0000000..e69de29 diff --git a/docs/site/orgs/tags/index.org b/docs/site/orgs/tags/index.org new file mode 100644 index 0000000..129dbb6 --- /dev/null +++ b/docs/site/orgs/tags/index.org @@ -0,0 +1,8 @@ +#+SETUPFILE: ../../config.org +#+OPTIONS: toc:nil +#+EXPORT_FILE_NAME: index.html +#+PAGE: true +#+TITLE: Tags + + + diff --git a/docs/site/sitemap.inc b/docs/site/sitemap.inc new file mode 100644 index 0000000..4694c50 --- /dev/null +++ b/docs/site/sitemap.inc @@ -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]] \ No newline at end of file diff --git a/docs/site/templates/blog.html b/docs/site/templates/blog.html new file mode 100644 index 0000000..0c04401 --- /dev/null +++ b/docs/site/templates/blog.html @@ -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}} + + + + + + + {{{head}}} + + + + + + +
+ +
+
+ +
+ {{{preamble}}} +
+ +
+ {{{content}}} +
+ + + + + + + diff --git a/docs/site/templates/categories.org b/docs/site/templates/categories.org new file mode 100644 index 0000000..2b879e4 --- /dev/null +++ b/docs/site/templates/categories.org @@ -0,0 +1,7 @@ +#+SETUPFILE: ../../config.org +#+OPTIONS: toc:nil +#+EXPORT_FILE_NAME: index.html +#+PAGE: true +#+TITLE: Categories + +<<>> diff --git a/docs/site/templates/footer.html b/docs/site/templates/footer.html new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/docs/site/templates/footer.html @@ -0,0 +1 @@ + diff --git a/docs/site/templates/header.html b/docs/site/templates/header.html new file mode 100644 index 0000000..61294ec --- /dev/null +++ b/docs/site/templates/header.html @@ -0,0 +1 @@ +
diff --git a/docs/site/templates/index.org b/docs/site/templates/index.org new file mode 100644 index 0000000..ef5a84f --- /dev/null +++ b/docs/site/templates/index.org @@ -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: +<<>> diff --git a/docs/site/templates/links_template.org b/docs/site/templates/links_template.org new file mode 100644 index 0000000..0715acd --- /dev/null +++ b/docs/site/templates/links_template.org @@ -0,0 +1,7 @@ +#+SETUPFILE: ../../config.org +#+OPTIONS: toc:nil +#+TITLE: <<>> +#+PAGE: true + + +<<<links>>> diff --git a/docs/site/templates/page-preamble.html b/docs/site/templates/page-preamble.html new file mode 100644 index 0000000..6213adc --- /dev/null +++ b/docs/site/templates/page-preamble.html @@ -0,0 +1 @@ +<h1>{{title}}</h1> diff --git a/docs/site/templates/post-preamble.html b/docs/site/templates/post-preamble.html new file mode 100644 index 0000000..aadb50d --- /dev/null +++ b/docs/site/templates/post-preamble.html @@ -0,0 +1,2 @@ +<h1 class="title">{{title}}</h1> +<span class="tags">{{{tags}}}</span> - <time>{{date}}</time> diff --git a/docs/site/templates/tags.html b/docs/site/templates/tags.html new file mode 100644 index 0000000..02ee88b --- /dev/null +++ b/docs/site/templates/tags.html @@ -0,0 +1,3 @@ +<div class="tags"> + <span>{{tags}}</span> +</div> diff --git a/docs/site/templates/tags.org b/docs/site/templates/tags.org new file mode 100644 index 0000000..1362940 --- /dev/null +++ b/docs/site/templates/tags.org @@ -0,0 +1,8 @@ +#+SETUPFILE: ../../config.org +#+OPTIONS: toc:nil +#+EXPORT_FILE_NAME: index.html +#+PAGE: true +#+TITLE: Tags + + +<<<links>>> diff --git a/docs/styles/style.css b/docs/styles/style.css deleted file mode 100644 index c9d2507..0000000 --- a/docs/styles/style.css +++ /dev/null @@ -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; -} diff --git a/fg42-config.el b/fg42-config.el index d86578d..71c80b3 100644 --- a/fg42-config.el +++ b/fg42-config.el @@ -42,7 +42,7 @@ (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' (if (file-exists-p custom-file) (load custom-file))