├── pictures ├── screenshot_1.png └── screenshot_2.png ├── MANIFEST.in ├── gutenbergtozim ├── templates │ ├── favicon.ico │ ├── favicon.png │ ├── css │ │ ├── logo_2.png │ │ ├── spinner.gif │ │ └── grids-responsive-min.css │ ├── fonts │ │ ├── Roboto-Black.ttf │ │ ├── Roboto-Bold.ttf │ │ ├── Roboto-Light.ttf │ │ ├── Roboto-Thin.ttf │ │ ├── Roboto-Medium.ttf │ │ ├── Roboto-Regular.ttf │ │ ├── RobotoCondensed-Bold.ttf │ │ ├── RobotoCondensed-Light.ttf │ │ ├── RobotoCondensed-Regular.ttf │ │ └── font-awesome │ │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.ttf │ │ │ └── fontawesome-webfont.woff │ │ │ ├── less │ │ │ ├── fixed-width.less │ │ │ ├── core.less │ │ │ ├── bordered-pulled.less │ │ │ ├── rotated-flipped.less │ │ │ ├── larger.less │ │ │ ├── list.less │ │ │ ├── font-awesome.less │ │ │ ├── stacked.less │ │ │ ├── path.less │ │ │ ├── mixins.less │ │ │ └── spinning.less │ │ │ └── scss │ │ │ ├── _fixed-width.scss │ │ │ ├── _core.scss │ │ │ ├── _bordered-pulled.scss │ │ │ ├── _larger.scss │ │ │ ├── _rotated-flipped.scss │ │ │ ├── _list.scss │ │ │ ├── font-awesome.scss │ │ │ ├── _stacked.scss │ │ │ ├── _path.scss │ │ │ ├── _mixins.scss │ │ │ └── _spinning.scss │ ├── jquery-ui │ │ └── images │ │ │ ├── animated-overlay.gif │ │ │ ├── ui-icons_c47a23_256x240.png │ │ │ ├── ui-icons_cb672b_256x240.png │ │ │ ├── ui-icons_f08000_256x240.png │ │ │ ├── ui-icons_f35f07_256x240.png │ │ │ ├── ui-icons_ff7519_256x240.png │ │ │ ├── ui-icons_ffffff_256x240.png │ │ │ ├── ui-bg_flat_75_aaaaaa_40x100.png │ │ │ ├── ui-bg_glass_100_f5f0e5_1x400.png │ │ │ ├── ui-bg_glass_25_cb842e_1x400.png │ │ │ ├── ui-bg_glass_70_ede4d4_1x400.png │ │ │ ├── ui-bg_inset-soft_100_f4f0ec_1x100.png │ │ │ ├── ui-bg_highlight-hard_65_fee4bd_1x100.png │ │ │ ├── ui-bg_highlight-hard_75_f5f5b5_1x100.png │ │ │ └── ui-bg_highlight-hard_100_f4f0ec_1x100.png │ ├── datatables │ │ ├── DataTables-1.10.13 │ │ │ ├── images │ │ │ │ ├── sort_asc.png │ │ │ │ ├── sort_both.png │ │ │ │ ├── sort_desc.png │ │ │ │ ├── sort_asc_disabled.png │ │ │ │ └── sort_desc_disabled.png │ │ │ ├── js │ │ │ │ ├── dataTables.bootstrap.min.js │ │ │ │ ├── dataTables.foundation.min.js │ │ │ │ ├── dataTables.semanticui.min.js │ │ │ │ ├── dataTables.jqueryui.min.js │ │ │ │ ├── dataTables.foundation.js │ │ │ │ ├── dataTables.jqueryui.js │ │ │ │ ├── dataTables.bootstrap.js │ │ │ │ └── dataTables.semanticui.js │ │ │ └── css │ │ │ │ ├── dataTables.foundation.min.css │ │ │ │ ├── dataTables.semanticui.min.css │ │ │ │ ├── dataTables.semanticui.css │ │ │ │ ├── dataTables.foundation.css │ │ │ │ ├── dataTables.bootstrap.min.css │ │ │ │ └── dataTables.bootstrap.css │ │ └── Responsive-2.1.1 │ │ │ ├── js │ │ │ ├── responsive.jqueryui.min.js │ │ │ ├── responsive.foundation.min.js │ │ │ ├── responsive.bootstrap.min.js │ │ │ ├── responsive.jqueryui.js │ │ │ ├── responsive.foundation.js │ │ │ └── responsive.bootstrap.js │ │ │ └── css │ │ │ ├── responsive.dataTables.min.css │ │ │ ├── responsive.jqueryui.min.css │ │ │ ├── responsive.foundation.min.css │ │ │ ├── responsive.bootstrap.min.css │ │ │ ├── responsive.jqueryui.css │ │ │ ├── responsive.dataTables.css │ │ │ ├── responsive.foundation.css │ │ │ └── responsive.bootstrap.css │ ├── bookshelf_home.html │ ├── bookshelf.html │ ├── author.html │ ├── book_infobox.html │ ├── Home.html │ ├── jquery │ │ ├── jquery.cookie.js │ │ └── jquery.persist.js │ ├── cover_article.html │ └── base.html ├── .jsbeautifyrc ├── __init__.py ├── checkdeps.py ├── zim.py ├── utils.py ├── database.py ├── iso639.py ├── urls.py └── download.py ├── requirements.pip ├── .github ├── FUNDING.yml └── move.yml ├── ChangeLog ├── languages_06_2018 ├── .gitignore ├── setup.py ├── Dockerfile ├── pypi-readme.rst └── README.md /pictures/screenshot_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/pictures/screenshot_1.png -------------------------------------------------------------------------------- /pictures/screenshot_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/pictures/screenshot_2.png -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include LICENSE 2 | include pypi-readme.rst 3 | include requirements.pip 4 | recursive-include gutenbergtozim/templates * 5 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/favicon.ico -------------------------------------------------------------------------------- /gutenbergtozim/templates/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/favicon.png -------------------------------------------------------------------------------- /gutenbergtozim/templates/css/logo_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/css/logo_2.png -------------------------------------------------------------------------------- /gutenbergtozim/templates/css/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/css/spinner.gif -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/Roboto-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/fonts/Roboto-Black.ttf -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/fonts/Roboto-Bold.ttf -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/fonts/Roboto-Light.ttf -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/fonts/Roboto-Thin.ttf -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/fonts/Roboto-Medium.ttf -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/fonts/Roboto-Regular.ttf -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/RobotoCondensed-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/fonts/RobotoCondensed-Bold.ttf -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/RobotoCondensed-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/fonts/RobotoCondensed-Light.ttf -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/RobotoCondensed-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/fonts/RobotoCondensed-Regular.ttf -------------------------------------------------------------------------------- /gutenbergtozim/templates/jquery-ui/images/animated-overlay.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/jquery-ui/images/animated-overlay.gif -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/fonts/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /gutenbergtozim/templates/jquery-ui/images/ui-icons_c47a23_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/jquery-ui/images/ui-icons_c47a23_256x240.png -------------------------------------------------------------------------------- /gutenbergtozim/templates/jquery-ui/images/ui-icons_cb672b_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/jquery-ui/images/ui-icons_cb672b_256x240.png -------------------------------------------------------------------------------- /gutenbergtozim/templates/jquery-ui/images/ui-icons_f08000_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/jquery-ui/images/ui-icons_f08000_256x240.png -------------------------------------------------------------------------------- /gutenbergtozim/templates/jquery-ui/images/ui-icons_f35f07_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/jquery-ui/images/ui-icons_f35f07_256x240.png -------------------------------------------------------------------------------- /gutenbergtozim/templates/jquery-ui/images/ui-icons_ff7519_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/jquery-ui/images/ui-icons_ff7519_256x240.png -------------------------------------------------------------------------------- /gutenbergtozim/templates/jquery-ui/images/ui-icons_ffffff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/jquery-ui/images/ui-icons_ffffff_256x240.png -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/datatables/DataTables-1.10.13/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/datatables/DataTables-1.10.13/images/sort_asc.png -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/fonts/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/fonts/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/fonts/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/jquery-ui/images/ui-bg_flat_75_aaaaaa_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/jquery-ui/images/ui-bg_flat_75_aaaaaa_40x100.png -------------------------------------------------------------------------------- /gutenbergtozim/templates/jquery-ui/images/ui-bg_glass_100_f5f0e5_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/jquery-ui/images/ui-bg_glass_100_f5f0e5_1x400.png -------------------------------------------------------------------------------- /gutenbergtozim/templates/jquery-ui/images/ui-bg_glass_25_cb842e_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/jquery-ui/images/ui-bg_glass_25_cb842e_1x400.png -------------------------------------------------------------------------------- /gutenbergtozim/templates/jquery-ui/images/ui-bg_glass_70_ede4d4_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/jquery-ui/images/ui-bg_glass_70_ede4d4_1x400.png -------------------------------------------------------------------------------- /gutenbergtozim/templates/datatables/DataTables-1.10.13/images/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/datatables/DataTables-1.10.13/images/sort_both.png -------------------------------------------------------------------------------- /gutenbergtozim/templates/datatables/DataTables-1.10.13/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/datatables/DataTables-1.10.13/images/sort_desc.png -------------------------------------------------------------------------------- /gutenbergtozim/templates/jquery-ui/images/ui-bg_inset-soft_100_f4f0ec_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/jquery-ui/images/ui-bg_inset-soft_100_f4f0ec_1x100.png -------------------------------------------------------------------------------- /gutenbergtozim/templates/jquery-ui/images/ui-bg_highlight-hard_65_fee4bd_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/jquery-ui/images/ui-bg_highlight-hard_65_fee4bd_1x100.png -------------------------------------------------------------------------------- /gutenbergtozim/templates/jquery-ui/images/ui-bg_highlight-hard_75_f5f5b5_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/jquery-ui/images/ui-bg_highlight-hard_75_f5f5b5_1x100.png -------------------------------------------------------------------------------- /gutenbergtozim/templates/datatables/DataTables-1.10.13/images/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/datatables/DataTables-1.10.13/images/sort_asc_disabled.png -------------------------------------------------------------------------------- /gutenbergtozim/templates/datatables/DataTables-1.10.13/images/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/datatables/DataTables-1.10.13/images/sort_desc_disabled.png -------------------------------------------------------------------------------- /gutenbergtozim/templates/jquery-ui/images/ui-bg_highlight-hard_100_f4f0ec_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EbookFoundation/zimgutenberg/HEAD/gutenbergtozim/templates/jquery-ui/images/ui-bg_highlight-hard_100_f4f0ec_1x100.png -------------------------------------------------------------------------------- /requirements.pip: -------------------------------------------------------------------------------- 1 | beautifulsoup4==4.5.3 2 | Jinja2==2.9.5 3 | ipdb==0.10.2 4 | ipython==5.3.0 5 | peewee==2.9.1 6 | requests==2.13.0 7 | path.py==10.1 8 | Babel==2.4.0 9 | lxml==3.7.3 10 | docopt==0.6.2 11 | chardet==2.3.0 12 | apsw==3.9.2.post1 13 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/bookshelf_home.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title %}Bookshelves{% endblock %} 3 | {% block content %} 4 |

Bookshelves (A-Z)

5 |
6 |
7 | 8 |
9 |
10 | 11 | 12 | {% endblock %} -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font-family: FontAwesome; 7 | font-style: normal; 8 | font-weight: normal; 9 | line-height: 1; 10 | -webkit-font-smoothing: antialiased; 11 | -moz-osx-font-smoothing: grayscale; 12 | } 13 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font-family: FontAwesome; 7 | font-style: normal; 8 | font-weight: normal; 9 | line-height: 1; 10 | -webkit-font-smoothing: antialiased; 11 | -moz-osx-font-smoothing: grayscale; 12 | } 13 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/bookshelf.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title %}Individual Bookshelf{% endblock %} 3 | {% block content %} 4 |

{{ bookshelf }} Bookshelf

5 |
6 | 10 | {% endblock %} 11 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .@{fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/author.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title %}{{ author.name() }}{% endblock %} 3 | {% block content %} 4 |
5 | 11 | {% endblock %} 12 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: -@fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "spinning"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "spinning.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: kiwix # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # https://kiwix.org/support-us/ 13 | -------------------------------------------------------------------------------- /.github/move.yml: -------------------------------------------------------------------------------- 1 | # Configuration for Move Issues - https://github.com/dessant/move-issues 2 | 3 | # Delete the command comment when it contains no other content 4 | deleteCommand: true 5 | 6 | # Close the source issue after moving 7 | closeSourceIssue: true 8 | 9 | # Lock the source issue after moving 10 | lockSourceIssue: false 11 | 12 | # Mention issue and comment authors 13 | mentionAuthors: true 14 | 15 | # Preserve mentions in the issue content 16 | keepContentMentions: true 17 | 18 | # Move labels that also exist on the target repository 19 | moveLabels: true 20 | 21 | # Set custom aliases for targets 22 | # aliases: 23 | # r: repo 24 | # or: owner/repo 25 | 26 | # Repository to extend settings from 27 | # _extends: repo -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: ~"url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}')"; 7 | src: ~"url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype')", 8 | ~"url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff')", 9 | ~"url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype')", 10 | ~"url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg')"; 11 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 12 | font-weight: normal; 13 | font-style: normal; 14 | } 15 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 9 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 10 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 11 | //src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 12 | font-weight: normal; 13 | font-style: normal; 14 | } 15 | -------------------------------------------------------------------------------- /ChangeLog: -------------------------------------------------------------------------------- 1 | 1.1.5 2 | - simplified home page results on smaller screen sizes 3 | 4 | 1.1.4 5 | - Fixed broken setup.py (moved LICENSE file) 6 | - Added changelog 7 | - fixed running on macOS 8 | - fixed running with PY3 9 | - defaulting to PY3 on Docker 10 | 11 | 1.1.3 12 | - Added ability to set an output folder for --one-language-one-zim 13 | - removed unused -m parameter 14 | - Added --tags 15 | - Added --scraper 16 | - Harmonized ZIM name and filename with other projects 17 | - Removed format list in filename, title and description if all formats selected 18 | - Changed dockerfile to use source instead of pypi 19 | - Fixed --one-language-one-zim not completing 20 | - Fixed IntegrityError on thread colision 21 | - fixed python3 compatibility 22 | - cleaned-up code (tab/space mix) 23 | 24 | 1.1.2 25 | - initial version 26 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | .fa-icon-rotate(@degrees, @rotation) { 5 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation); 6 | -webkit-transform: rotate(@degrees); 7 | -moz-transform: rotate(@degrees); 8 | -ms-transform: rotate(@degrees); 9 | -o-transform: rotate(@degrees); 10 | transform: rotate(@degrees); 11 | } 12 | 13 | .fa-icon-flip(@horiz, @vert, @rotation) { 14 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1); 15 | -webkit-transform: scale(@horiz, @vert); 16 | -moz-transform: scale(@horiz, @vert); 17 | -ms-transform: scale(@horiz, @vert); 18 | -o-transform: scale(@horiz, @vert); 19 | transform: scale(@horiz, @vert); 20 | } 21 | -------------------------------------------------------------------------------- /languages_06_2018: -------------------------------------------------------------------------------- 1 | #To update this list, you should have gutenberg.db with all book in (just start gutenberg2zim without option -l) 2 | #You should run this script in folder with source (and db) 3 | #from gutenbergtozim.database import Book 4 | #for book in Book.select(Book.language).distinct(): 5 | # print(book.language) 6 | en 7 | la 8 | es 9 | de 10 | fr 11 | it 12 | ja 13 | sv 14 | da 15 | cy 16 | bg 17 | pt 18 | nl 19 | zh 20 | el 21 | he 22 | ru 23 | ko 24 | pl 25 | fi 26 | eo 27 | enm 28 | sa 29 | ang 30 | yi 31 | lt 32 | nai 33 | sr 34 | no 35 | ro 36 | cs 37 | tl 38 | ca 39 | is 40 | myn 41 | ilo 42 | ia 43 | ga 44 | fur 45 | af 46 | kld 47 | oc 48 | nap 49 | hu 50 | fy 51 | ceb 52 | gl 53 | nah 54 | mi 55 | nav 56 | br 57 | arp 58 | iu 59 | bgs 60 | gla 61 | rmr 62 | sl 63 | te 64 | oji 65 | ar 66 | grc 67 | et 68 | fa 69 | brx 70 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon-rotate($degrees, $rotation) { 5 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); 6 | -webkit-transform: rotate($degrees); 7 | -moz-transform: rotate($degrees); 8 | -ms-transform: rotate($degrees); 9 | -o-transform: rotate($degrees); 10 | transform: rotate($degrees); 11 | } 12 | 13 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 14 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); 15 | -webkit-transform: scale($horiz, $vert); 16 | -moz-transform: scale($horiz, $vert); 17 | -ms-transform: scale($horiz, $vert); 18 | -o-transform: scale($horiz, $vert); 19 | transform: scale($horiz, $vert); 20 | } 21 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/datatables/Responsive-2.1.1/js/responsive.jqueryui.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | jQuery UI integration for DataTables' Responsive 3 | ©2015 SpryMedia Ltd - datatables.net/license 4 | */ 5 | (function(c){"function"===typeof define&&define.amd?define(["jquery","datatables.net-jqui","datatables.net-responsive"],function(a){return c(a,window,document)}):"object"===typeof exports?module.exports=function(a,b){a||(a=window);if(!b||!b.fn.dataTable)b=require("datatables.net-jqui")(a,b).$;b.fn.dataTable.Responsive||require("datatables.net-responsive")(a,b);return c(b,a,a.document)}:c(jQuery,window,document)})(function(c){var a=c.fn.dataTable,b=a.Responsive.display,f=b.modal;b.modal=function(a){return function(b, 6 | d,e){c.fn.dialog?d||c("
").append(e()).appendTo("body").dialog(c.extend(!0,{title:a&&a.header?a.header(b):"",width:500},a.dialog)):f(b,d,e)}};return a.Responsive}); 7 | -------------------------------------------------------------------------------- /gutenbergtozim/.jsbeautifyrc: -------------------------------------------------------------------------------- 1 | { 2 | "indent_size": 2, 3 | "indent_char": " ", 4 | "indent_with_tabs": false, 5 | "editorconfig": false, 6 | "eol": "\n", 7 | "end_with_newline": false, 8 | "indent_level": 0, 9 | "preserve_newlines": true, 10 | "max_preserve_newlines": 10, 11 | "space_in_paren": false, 12 | "space_in_empty_paren": false, 13 | "jslint_happy": false, 14 | "space_after_anon_function": false, 15 | "space_after_named_function": false, 16 | "brace_style": "collapse", 17 | "unindent_chained_methods": false, 18 | "break_chained_methods": false, 19 | "keep_array_indentation": false, 20 | "unescape_strings": false, 21 | "wrap_line_length": 0, 22 | "e4x": false, 23 | "comma_first": false, 24 | "operator_position": "before-newline", 25 | "indent_empty_lines": false, 26 | "templating": ["django"] 27 | } -------------------------------------------------------------------------------- /gutenbergtozim/templates/book_infobox.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 | 6 | {% for format in book.formats() %} 7 | {% if not format == 'html' %} 8 | 9 | 10 | 11 | 12 | {% endif %} 13 | {% endfor %} 14 | 15 | 16 | 17 |
18 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/less/spinning.less: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: spin 2s infinite linear; 6 | -moz-animation: spin 2s infinite linear; 7 | -o-animation: spin 2s infinite linear; 8 | animation: spin 2s infinite linear; 9 | } 10 | 11 | @-moz-keyframes spin { 12 | 0% { -moz-transform: rotate(0deg); } 13 | 100% { -moz-transform: rotate(359deg); } 14 | } 15 | @-webkit-keyframes spin { 16 | 0% { -webkit-transform: rotate(0deg); } 17 | 100% { -webkit-transform: rotate(359deg); } 18 | } 19 | @-o-keyframes spin { 20 | 0% { -o-transform: rotate(0deg); } 21 | 100% { -o-transform: rotate(359deg); } 22 | } 23 | @keyframes spin { 24 | 0% { 25 | -webkit-transform: rotate(0deg); 26 | transform: rotate(0deg); 27 | } 28 | 100% { 29 | -webkit-transform: rotate(359deg); 30 | transform: rotate(359deg); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/fonts/font-awesome/scss/_spinning.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: spin 2s infinite linear; 6 | -moz-animation: spin 2s infinite linear; 7 | -o-animation: spin 2s infinite linear; 8 | animation: spin 2s infinite linear; 9 | } 10 | 11 | @-moz-keyframes spin { 12 | 0% { -moz-transform: rotate(0deg); } 13 | 100% { -moz-transform: rotate(359deg); } 14 | } 15 | @-webkit-keyframes spin { 16 | 0% { -webkit-transform: rotate(0deg); } 17 | 100% { -webkit-transform: rotate(359deg); } 18 | } 19 | @-o-keyframes spin { 20 | 0% { -o-transform: rotate(0deg); } 21 | 100% { -o-transform: rotate(359deg); } 22 | } 23 | @keyframes spin { 24 | 0% { 25 | -webkit-transform: rotate(0deg); 26 | transform: rotate(0deg); 27 | } 28 | 100% { 29 | -webkit-transform: rotate(359deg); 30 | transform: rotate(359deg); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | 5 | # C extensions 6 | *.so 7 | 8 | # Distribution / packaging 9 | .vscode/ 10 | gut-env/ 11 | .Python 12 | env/ 13 | venv/ 14 | bin/ 15 | build/ 16 | develop-eggs/ 17 | dist/ 18 | eggs/ 19 | lib/ 20 | lib64/ 21 | parts/ 22 | sdist/ 23 | var/ 24 | *.egg-info/ 25 | .installed.cfg 26 | *.egg 27 | 28 | # Installer logs 29 | pip-log.txt 30 | pip-delete-this-directory.txt 31 | 32 | # Unit test / coverage reports 33 | htmlcov/ 34 | .tox/ 35 | .coverage 36 | .cache 37 | nosetests.xml 38 | coverage.xml 39 | 40 | # Translations 41 | *.mo 42 | 43 | # Mr Developer 44 | .mr.developer.cfg 45 | .project 46 | .pydevproject 47 | 48 | # Rope 49 | .ropeproject 50 | 51 | # Django stuff: 52 | *.log 53 | *.pot 54 | 55 | # Sphinx documentation 56 | docs/_build/ 57 | 58 | .DS_Store 59 | *.sublime-project 60 | *.sublime-workspace 61 | *.tar.bz2 62 | *.db 63 | *~ 64 | static 65 | rdf-files 66 | dl-cache 67 | tmp/ -------------------------------------------------------------------------------- /gutenbergtozim/templates/datatables/Responsive-2.1.1/js/responsive.foundation.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | Foundation integration for DataTables' Responsive 3 | ©2015 SpryMedia Ltd - datatables.net/license 4 | */ 5 | (function(c){"function"===typeof define&&define.amd?define(["jquery","datatables.net-zf","datatables.net-responsive"],function(a){return c(a,window,document)}):"object"===typeof exports?module.exports=function(a,b){a||(a=window);if(!b||!b.fn.dataTable)b=require("datatables.net-zf")(a,b).$;b.fn.dataTable.Responsive||require("datatables.net-responsive")(a,b);return c(b,a,a.document)}:c(jQuery,window,document)})(function(c){var a=c.fn.dataTable,b=a.Responsive.display,f=b.modal;b.modal=function(a){return function(b, 6 | d,e){c.fn.foundation?d||c('
').append('×').append(a&&a.header?"

"+a.header(b)+"

":null).append(e()).appendTo("body").foundation("reveal","open"):f(b,d,e)}};return a.Responsive}); 7 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/Home.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title %}The Gutenberg Project{% endblock %} 3 | {% block precontent %} 4 |
5 |

Project Gutenberg offers over 60,000 free ebooks

6 |

7 | choose among free epub books, free kindle books. 8 |
9 | Download them or read them online.

11 |

We carry high quality ebooks

12 |

13 | All our ebooks were previously published by bona fide publishers. 14 |
15 | We digitized and diligently proofread them with the help of thousands of volunteers. 16 |

17 |
18 | {% endblock %} 19 | {% block content %} 20 |
21 | {% endblock %} 22 | -------------------------------------------------------------------------------- /gutenbergtozim/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | # vim: ai ts=4 sts=4 et sw=4 nu 4 | 5 | from __future__ import (unicode_literals, absolute_import, 6 | division, print_function) 7 | import logging 8 | from logging.config import dictConfig 9 | 10 | 11 | LOGGING = { 12 | 'version': 1, 13 | 'disable_existing_loggers': False, 14 | 'handlers': { 15 | 'null': { 16 | 'level': 'DEBUG', 17 | 'class': 'logging.NullHandler', 18 | }, 19 | 'console': { 20 | 'level': 'DEBUG', 21 | 'class': 'logging.StreamHandler', 22 | }, 23 | }, 24 | 'loggers': { 25 | 'iso8601': { 26 | 'handlers': ['null'], 27 | 'level': 'DEBUG', 28 | 'propagate': False, 29 | }, 30 | 'peewee': { 31 | 'handlers': ['null'], 32 | 'level': 'DEBUG', 33 | 'propagate': False, 34 | }, 35 | '': { 36 | 'handlers': ['console'], 37 | 'level': 'DEBUG', 38 | 'propagate': True, 39 | } 40 | } 41 | } 42 | 43 | dictConfig(LOGGING) 44 | 45 | logger = logging.getLogger(__name__) 46 | 47 | TMP_FOLDER = 'tmp' 48 | 49 | VERSION = "1.1.4" 50 | -------------------------------------------------------------------------------- /gutenbergtozim/templates/datatables/Responsive-2.1.1/js/responsive.bootstrap.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | Bootstrap integration for DataTables' Responsive 3 | ©2015-2016 SpryMedia Ltd - datatables.net/license 4 | */ 5 | (function(c){"function"===typeof define&&define.amd?define(["jquery","datatables.net-bs","datatables.net-responsive"],function(a){return c(a,window,document)}):"object"===typeof exports?module.exports=function(a,b){a||(a=window);if(!b||!b.fn.dataTable)b=require("datatables.net-bs")(a,b).$;b.fn.dataTable.Responsive||require("datatables.net-responsive")(a,b);return c(b,a,a.document)}:c(jQuery,window,document)})(function(c){var a=c.fn.dataTable,b=a.Responsive.display,g=b.modal,e=c('