changeset f7b7fa6a1fd3 in joypy/Joypy details: http://hg.osdn.jp/view/joypy/Joypy?cmd=changeset;node=f7b7fa6a1fd3 user: Simon Forman <sform****@hushm*****> date: Thu May 21 08:33:30 2020 -0700 description: Clear out Joy docs. changeset 1ff100e69aed in joypy/Joypy details: http://hg.osdn.jp/view/joypy/Joypy?cmd=changeset;node=1ff100e69aed user: Simon Forman <sform****@hushm*****> date: Mon May 25 20:18:20 2020 -0700 description: Python 3 changeset f806575f48cb in joypy/Joypy details: http://hg.osdn.jp/view/joypy/Joypy?cmd=changeset;node=f806575f48cb user: Simon Forman <sform****@hushm*****> date: Mon May 25 20:18:59 2020 -0700 description: s/joy/xerblin/ in VUI But I can't get Pygame to install anyway. changeset af3b5dd046b6 in joypy/Joypy details: http://hg.osdn.jp/view/joypy/Joypy?cmd=changeset;node=af3b5dd046b6 user: Simon Forman <sform****@hushm*****> date: Mon May 25 20:19:36 2020 -0700 description: Minor cleanup I forgot how this code works. changeset a582a0473f7d in joypy/Joypy details: http://hg.osdn.jp/view/joypy/Joypy?cmd=changeset;node=a582a0473f7d user: Simon Forman <sform****@hushm*****> date: Mon May 25 20:34:34 2020 -0700 description: Start GUI-docs. changeset 0cc549985835 in joypy/Joypy details: http://hg.osdn.jp/view/joypy/Joypy?cmd=changeset;node=0cc549985835 user: Simon Forman <sform****@hushm*****> date: Mon May 25 20:38:26 2020 -0700 description: pygments_style = 'colorful' changeset 52e2ea9f5874 in joypy/Joypy details: http://hg.osdn.jp/view/joypy/Joypy?cmd=changeset;node=52e2ea9f5874 user: Simon Forman <sform****@hushm*****> date: Mon May 25 21:45:27 2020 -0700 description: A start on Sphinx docs for GUI. diffstat: .hgignore | 2 +- Makefile | 4 +- docs/0._This_Implementation_of_Joy_in_Python.html | 13764 ------ docs/0._This_Implementation_of_Joy_in_Python.ipynb | 557 - docs/0._This_Implementation_of_Joy_in_Python.md | 339 - docs/0._This_Implementation_of_Joy_in_Python.rst | 450 - docs/1._Basic_Use_of_Joy_in_a_Notebook.html | 13390 ------ docs/1._Basic_Use_of_Joy_in_a_Notebook.ipynb | 247 - docs/1._Basic_Use_of_Joy_in_a_Notebook.md | 141 - docs/1._Basic_Use_of_Joy_in_a_Notebook.rst | 154 - docs/2._Library_Examples.html | 17844 -------- docs/2._Library_Examples.ipynb | 3052 - docs/2._Library_Examples.md | 1467 - docs/2._Library_Examples.rst | 1830 - docs/3._Developing_a_Program.html | 14562 ------- docs/3._Developing_a_Program.ipynb | 1121 - docs/3._Developing_a_Program.md | 693 - docs/3._Developing_a_Program.rst | 798 - docs/Advent_of_Code_2017_December_1st.html | 13739 ------ docs/Advent_of_Code_2017_December_1st.ipynb | 455 - docs/Advent_of_Code_2017_December_1st.md | 232 - docs/Advent_of_Code_2017_December_1st.rst | 288 - docs/Advent_of_Code_2017_December_2nd.html | 13776 ------ docs/Advent_of_Code_2017_December_2nd.ipynb | 554 - docs/Advent_of_Code_2017_December_2nd.md | 360 - docs/Advent_of_Code_2017_December_2nd.rst | 431 - docs/Advent_of_Code_2017_December_3rd.html | 14863 ------- docs/Advent_of_Code_2017_December_3rd.ipynb | 1426 - docs/Advent_of_Code_2017_December_3rd.md | 842 - docs/Advent_of_Code_2017_December_3rd.rst | 972 - docs/Advent_of_Code_2017_December_3rd_files/Advent of Code 2017 December 3rd_29_0.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent of Code 2017 December 3rd_35_1.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent of Code 2017 December 3rd_36_1.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent of Code 2017 December 3rd_42_0.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent of Code 2017 December 3rd_43_0.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent of Code 2017 December 3rd_45_0.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent of Code 2017 December 3rd_49_1.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent of Code 2017 December 3rd_52_1.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent of Code 2017 December 3rd_56_0.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent of Code 2017 December 3rd_59_0.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent of Code 2017 December 3rd_60_0.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent of Code 2017 December 3rd_61_0.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent of Code 2017 December 3rd_62_1.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent_of_Code_2017_December_3rd_29_0.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent_of_Code_2017_December_3rd_35_1.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent_of_Code_2017_December_3rd_36_1.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent_of_Code_2017_December_3rd_42_0.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent_of_Code_2017_December_3rd_43_0.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent_of_Code_2017_December_3rd_45_0.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent_of_Code_2017_December_3rd_49_1.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent_of_Code_2017_December_3rd_52_1.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent_of_Code_2017_December_3rd_56_0.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent_of_Code_2017_December_3rd_59_0.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent_of_Code_2017_December_3rd_60_0.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent_of_Code_2017_December_3rd_61_0.png | Bin docs/Advent_of_Code_2017_December_3rd_files/Advent_of_Code_2017_December_3rd_62_1.png | Bin docs/Advent_of_Code_2017_December_4th.html | 13237 ------ docs/Advent_of_Code_2017_December_4th.ipynb | 139 - docs/Advent_of_Code_2017_December_4th.md | 63 - docs/Advent_of_Code_2017_December_4th.rst | 76 - docs/Advent_of_Code_2017_December_5th.html | 13497 ------ docs/Advent_of_Code_2017_December_5th.ipynb | 380 - docs/Advent_of_Code_2017_December_5th.md | 243 - docs/Advent_of_Code_2017_December_5th.rst | 333 - docs/Advent_of_Code_2017_December_6th.html | 13714 ------ docs/Advent_of_Code_2017_December_6th.ipynb | 457 - docs/Advent_of_Code_2017_December_6th.md | 266 - docs/Advent_of_Code_2017_December_6th.rst | 304 - docs/Compiling_Joy.html | 14936 ------- docs/Compiling_Joy.ipynb | 1310 - docs/Compiling_Joy.md | 767 - docs/Compiling_Joy.rst | 796 - docs/Correcet_Programming.html | 20429 ---------- docs/Correcet_Programming.ipynb | 5952 -- docs/Correcet_Programming.md | 4309 -- docs/Correcet_Programming.rst | 4613 -- docs/Derivatives_of_Regular_Expressions.html | 14422 ------- docs/Derivatives_of_Regular_Expressions.ipynb | 1176 - docs/Derivatives_of_Regular_Expressions.md | 817 - docs/Derivatives_of_Regular_Expressions.rst | 946 - docs/Document.md | 286 +- docs/GUI-docs/Makefile | 20 + docs/GUI-docs/make.bat | 35 + docs/GUI-docs/source/conf.py | 76 + docs/GUI-docs/source/index.rst | 22 + docs/GUI-docs/source/main.rst | 6 + docs/GUI-docs/source/textwidget.rst | 4 + docs/Generator_Programs.html | 14502 ------- docs/Generator_Programs.ipynb | 1026 - docs/Generator_Programs.md | 506 - docs/Generator_Programs.rst | 635 - docs/Hylo-,_Ana-,_Cata-,_and_Para-morphisms_-_Recursion_Combinators.html | 15675 ------- docs/Hylo-,_Ana-,_Cata-,_and_Para-morphisms_-_Recursion_Combinators.ipynb | 2281 - docs/Hylo-,_Ana-,_Cata-,_and_Para-morphisms_-_Recursion_Combinators.md | 1907 - docs/Hylo-,_Ana-,_Cata-,_and_Para-morphisms_-_Recursion_Combinators.rst | 2106 - docs/Library_Examples.pdf | Bin docs/Makefile | 30 - docs/Newton-Raphson.html | 13538 ------ docs/Newton-Raphson.ipynb | 382 - docs/Newton-Raphson.md | 208 - docs/Newton-Raphson.rst | 257 - docs/Ordered_Binary_Trees.html | 15692 ------- docs/Ordered_Binary_Trees.ipynb | 2048 - docs/Ordered_Binary_Trees.md | 1210 - docs/Ordered_Binary_Trees.rst | 1639 - docs/Quadratic.html | 13353 ------ docs/Quadratic.ipynb | 241 - docs/Quadratic.md | 121 - docs/Quadratic.rst | 158 - docs/README.md | 54 - docs/Recursion_Combinators.html | 14130 ------ docs/Recursion_Combinators.ipynb | 859 - docs/Recursion_Combinators.md | 523 - docs/Recursion_Combinators.rst | 690 - docs/Replacing.html | 13322 ------ docs/Replacing.ipynb | 220 - docs/Replacing.md | 129 - docs/Replacing.rst | 147 - docs/The_Four_Operations.html | 13386 ------ docs/The_Four_Operations.ipynb | 337 - docs/The_Four_Operations.md | 229 - docs/The_Four_Operations.rst | 336 - docs/Trees.html | 16580 -------- docs/Trees.ipynb | 2676 - docs/Trees.md | 1735 - docs/Trees.rst | 2221 - docs/Treestep.html | 14271 ------ docs/Treestep.ipynb | 895 - docs/Treestep.md | 465 - docs/Treestep.rst | 620 - docs/TypeChecking.html | 13524 ------ docs/TypeChecking.ipynb | 307 - docs/TypeChecking.md | 154 - docs/TypeChecking.rst | 171 - docs/Types.html | 18098 -------- docs/Types.ipynb | 3848 - docs/Types.md | 2541 - docs/Types.rst | 2968 - docs/Zipper.html | 13782 ------ docs/Zipper.ipynb | 496 - docs/Zipper.md | 281 - docs/Zipper.rst | 352 - docs/dep-graphs/classes_Thun.png | Bin docs/dep-graphs/classes_Vui.png | Bin docs/dep-graphs/dep-graph-full.svg | 273 - docs/dep-graphs/dep-graph-internal.svg | 158 - docs/dep-graphs/full.svg | 158 - docs/dep-graphs/joy-module-dependency-graph.svg | 108 - docs/dep-graphs/joy-poly.svg | 68 - docs/dep-graphs/joy.svg | 108 - docs/dep-graphs/joy2.svg | 273 - docs/dep-graphs/packages_Thun.png | Bin docs/fun_with_scan.html | 13616 ------ docs/fun_with_scan.ipynb | 443 - docs/fun_with_scan.md | 239 - docs/fun_with_scan.rst | 339 - docs/jupyter_kernel/Try out the Joypy Jupyter Kernel.ipynb | 159 - docs/jupyter_kernel/joy_kernel.py | 50 - docs/jupyter_kernel/kernel.json | 4 - docs/notebook_preamble.py | 48 - docs/pe1.py | 24 - docs/pe1.txt | 18789 --------- docs/sphinx_docs/Makefile | 20 - docs/sphinx_docs/_build/html/_modules/index.html | 81 - docs/sphinx_docs/_build/html/_modules/joy/joy.html | 186 - docs/sphinx_docs/_build/html/_modules/joy/library.html | 1758 - docs/sphinx_docs/_build/html/_modules/joy/parser.html | 199 - docs/sphinx_docs/_build/html/_modules/joy/utils/pretty_print.html | 203 - docs/sphinx_docs/_build/html/_modules/joy/utils/stack.html | 272 - docs/sphinx_docs/_build/html/_sources/index.rst.txt | 111 - docs/sphinx_docs/_build/html/_sources/joy.rst.txt | 13 - docs/sphinx_docs/_build/html/_sources/lib.rst.txt | 1761 - docs/sphinx_docs/_build/html/_sources/library.rst.txt | 19 - docs/sphinx_docs/_build/html/_sources/parser.rst.txt | 20 - docs/sphinx_docs/_build/html/_sources/pretty.rst.txt | 13 - docs/sphinx_docs/_build/html/_sources/stack.rst.txt | 13 - docs/sphinx_docs/_build/html/_static/alabaster.css | 693 - docs/sphinx_docs/_build/html/_static/basic.css | 665 - docs/sphinx_docs/_build/html/_static/custom.css | 1 - docs/sphinx_docs/_build/html/_static/doctools.js | 313 - docs/sphinx_docs/_build/html/_static/documentation_options.js | 9 - docs/sphinx_docs/_build/html/_static/file.png | Bin docs/sphinx_docs/_build/html/_static/jquery.js | 4 - docs/sphinx_docs/_build/html/_static/minus.png | Bin docs/sphinx_docs/_build/html/_static/plus.png | Bin docs/sphinx_docs/_build/html/_static/pygments.css | 69 - docs/sphinx_docs/_build/html/_static/searchtools.js | 761 - docs/sphinx_docs/_build/html/_static/underscore-1.3.1.js | 999 - docs/sphinx_docs/_build/html/_static/underscore.js | 31 - docs/sphinx_docs/_build/html/genindex.html | 588 - docs/sphinx_docs/_build/html/index.html | 227 - docs/sphinx_docs/_build/html/joy.html | 174 - docs/sphinx_docs/_build/html/lib.html | 1394 - docs/sphinx_docs/_build/html/library.html | 1097 - docs/sphinx_docs/_build/html/notebooks/Categorical.html | 95 - docs/sphinx_docs/_build/html/notebooks/Derivatives_of_Regular_Expressions.html | 928 - docs/sphinx_docs/_build/html/notebooks/Developing.html | 730 - docs/sphinx_docs/_build/html/notebooks/Generator_Programs.html | 567 - docs/sphinx_docs/_build/html/notebooks/Intro.html | 374 - docs/sphinx_docs/_build/html/notebooks/Newton-Raphson.html | 298 - docs/sphinx_docs/_build/html/notebooks/NoUpdates.html | 109 - docs/sphinx_docs/_build/html/notebooks/Ordered_Binary_Trees.html | 1415 - docs/sphinx_docs/_build/html/notebooks/Quadratic.html | 233 - docs/sphinx_docs/_build/html/notebooks/Recursion_Combinators.html | 683 - docs/sphinx_docs/_build/html/notebooks/Replacing.html | 226 - docs/sphinx_docs/_build/html/notebooks/The_Four_Operations.html | 397 - docs/sphinx_docs/_build/html/notebooks/Treestep.html | 567 - docs/sphinx_docs/_build/html/notebooks/TypeChecking.html | 215 - docs/sphinx_docs/_build/html/notebooks/Types.html | 2519 - docs/sphinx_docs/_build/html/notebooks/Zipper.html | 367 - docs/sphinx_docs/_build/html/notebooks/index.html | 208 - docs/sphinx_docs/_build/html/objects.inv | Bin docs/sphinx_docs/_build/html/parser.html | 150 - docs/sphinx_docs/_build/html/pretty.html | 181 - docs/sphinx_docs/_build/html/py-modindex.html | 128 - docs/sphinx_docs/_build/html/search.html | 90 - docs/sphinx_docs/_build/html/searchindex.js | 1 - docs/sphinx_docs/_build/html/stack.html | 274 - docs/sphinx_docs/_build/html/types.html | 439 - docs/sphinx_docs/_templates/layout.html | 16 - docs/sphinx_docs/conf.py | 167 - docs/sphinx_docs/index.rst | 111 - docs/sphinx_docs/joy.rst | 13 - docs/sphinx_docs/lib.rst | 1761 - docs/sphinx_docs/library.rst | 19 - docs/sphinx_docs/notebooks/Categorical.rst | 17 - docs/sphinx_docs/notebooks/Derivatives_of_Regular_Expressions.rst | 946 - docs/sphinx_docs/notebooks/Developing.rst | 815 - docs/sphinx_docs/notebooks/Generator_Programs.rst | 635 - docs/sphinx_docs/notebooks/Intro.rst | 335 - docs/sphinx_docs/notebooks/Newton-Raphson.rst | 257 - docs/sphinx_docs/notebooks/NoUpdates.rst | 22 - docs/sphinx_docs/notebooks/Ordered_Binary_Trees.rst | 1639 - docs/sphinx_docs/notebooks/Quadratic.rst | 158 - docs/sphinx_docs/notebooks/Recursion_Combinators.rst | 690 - docs/sphinx_docs/notebooks/Replacing.rst | 147 - docs/sphinx_docs/notebooks/The_Four_Operations.rst | 336 - docs/sphinx_docs/notebooks/Treestep.rst | 620 - docs/sphinx_docs/notebooks/TypeChecking.rst | 171 - docs/sphinx_docs/notebooks/Types.rst | 2968 - docs/sphinx_docs/notebooks/Zipper.rst | 352 - docs/sphinx_docs/notebooks/index.rst | 26 - docs/sphinx_docs/notebooks/omg.svg | 185 - docs/sphinx_docs/parser.rst | 20 - docs/sphinx_docs/pretty.rst | 13 - docs/sphinx_docs/stack.rst | 13 - docs/sphinx_docs/types.rst | 153 - docs/with_sympy.html | 15363 ------- docs/with_sympy.ipynb | 1873 - docs/with_sympy.md | 1285 - docs/with_sympy.rst | 1317 - docs/with_sympy_files/with_sympy_11_0.png | Bin docs/with_sympy_files/with_sympy_16_0.png | Bin docs/with_sympy_files/with_sympy_17_0.png | Bin docs/with_sympy_files/with_sympy_38_0.png | Bin docs/with_sympy_files/with_sympy_44_1.png | Bin docs/with_sympy_files/with_sympy_9_0.png | Bin xerblin/gui/controllerlistbox.py | 234 +- xerblin/gui/textwidget.py | 24 +- xerblin/vui/__main__.py | 4 +- 260 files changed, 522 insertions(+), 549774 deletions(-) diffs (truncated from 551877 to 300 lines): diff -r f296b9b9bc56 -r 52e2ea9f5874 .hgignore --- a/.hgignore Tue May 19 15:44:44 2020 -0700 +++ b/.hgignore Mon May 25 21:45:27 2020 -0700 @@ -8,6 +8,6 @@ gnu-prolog/thun venv build -Thun.egg-info +Xerblin.egg-info dist __pycache__ \ No newline at end of file diff -r f296b9b9bc56 -r 52e2ea9f5874 Makefile --- a/Makefile Tue May 19 15:44:44 2020 -0700 +++ b/Makefile Mon May 25 21:45:27 2020 -0700 @@ -8,8 +8,8 @@ clean: - $(RM) -r Xerblin.egg-info/ dist/ build/ __pycache__/ $(TESTDIR) - find . -name '*.pyc' | xargs $(RM) + $(RM) -rv Xerblin.egg-info/ dist/ build/ $(TESTDIR) + find . -name __pycache__ | xargs $(RM) -rv sdist: python ./setup.py sdist bdist_wheel diff -r f296b9b9bc56 -r 52e2ea9f5874 docs/0._This_Implementation_of_Joy_in_Python.html --- a/docs/0._This_Implementation_of_Joy_in_Python.html Tue May 19 15:44:44 2020 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13764 +0,0 @@ -<!DOCTYPE html> -<html> -<head><meta charset="utf-8" /> - -<title>0._This_Implementation_of_Joy_in_Python</title> - -<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> - - - -<style type="text/css"> - /*! -* -* Twitter Bootstrap -* -*/ -/*! - * Bootstrap v3.3.7 (http://getbootstrap.com) - * Copyright 2011-2016 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ -html { - font-family: sans-serif; - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; -} -body { - margin: 0; -} -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -menu, -nav, -section, -summary { - display: block; -} -audio, -canvas, -progress, -video { - display: inline-block; - vertical-align: baseline; -} -audio:not([controls]) { - display: none; - height: 0; -} -[hidden], -template { - display: none; -} -a { - background-color: transparent; -} -a:active, -a:hover { - outline: 0; -} -abbr[title] { - border-bottom: 1px dotted; -} -b, -strong { - font-weight: bold; -} -dfn { - font-style: italic; -} -h1 { - font-size: 2em; - margin: 0.67em 0; -} -mark { - background: #ff0; - color: #000; -} -small { - font-size: 80%; -} -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} -sup { - top: -0.5em; -} -sub { - bottom: -0.25em; -} -img { - border: 0; -} -svg:not(:root) { - overflow: hidden; -} -figure { - margin: 1em 40px; -} -hr { - box-sizing: content-box; - height: 0; -} -pre { - overflow: auto; -} -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} -button, -input, -optgroup, -select, -textarea { - color: inherit; - font: inherit; - margin: 0; -} -button { - overflow: visible; -} -button, -select { - text-transform: none; -} -button, -html input[type="button"], -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; - cursor: pointer; -} -button[disabled], -html input[disabled] { - cursor: default; -} -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} -input { - line-height: normal; -} -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; - padding: 0; -} -input[type="number"]::-webkit-inner-spin-button, -input[type="number"]::-webkit-outer-spin-button { - height: auto; -} -input[type="search"] { - -webkit-appearance: textfield; - box-sizing: content-box; -} -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} -legend { - border: 0; - padding: 0; -} -textarea { - overflow: auto; -} -optgroup { - font-weight: bold; -} -table { - border-collapse: collapse; - border-spacing: 0; -} -td, -th { - padding: 0; -} -/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ - at media print { - *, - *:before, - *:after { - background: transparent !important; - box-shadow: none !important; - text-shadow: none !important; - } - a, - a:visited { - text-decoration: underline; - } - a[href]:after { - content: " (" attr(href) ")"; - } - abbr[title]:after { - content: " (" attr(title) ")"; - } - a[href^="#"]:after, - a[href^="javascript:"]:after { - content: ""; - } - pre, - blockquote { - border: 1px solid #999; - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - img { - max-width: 100% !important; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } - .navbar { - display: none; - } - .btn > .caret, - .dropup > .btn > .caret { - border-top-color: #000 !important; - } - .label { - border: 1px solid #000; - } - .table { - border-collapse: collapse !important; - } - .table td, - .table th { - background-color: #fff !important; - } - .table-bordered th, - .table-bordered td { - border: 1px solid #ddd !important; - } -}