├── .gitignore
├── BLOX
├── Common
│ ├── Cntr.py
│ ├── Compiler.py
│ ├── Counter.py
│ ├── Dialects.py
│ ├── Functions.py
│ ├── Globals.py
│ ├── RandData.py
│ ├── SKL.py
│ ├── SanityCheck.py
│ ├── Strings.py
│ ├── __init__.py
│ └── utils.py
├── Core
│ ├── Metrics.py
│ ├── PipeLine.py
│ ├── Preprocessor.py
│ ├── Recordable.py
│ ├── Tester.py
│ ├── Trainer.py
│ └── __init__.py
├── DataSet
│ ├── DataSet.py
│ ├── DataTools.py
│ ├── GMM.py
│ ├── Imgs2DataSet.py
│ ├── MultiStreamingDataSet.py
│ ├── TestSet.py
│ └── __init__.py
├── Environments
│ └── TradingEnvironment.py
├── Examples
│ ├── ChatBot
│ │ ├── Attn.py
│ │ ├── AttnDecoder.py
│ │ ├── ChatBot.py
│ │ ├── EncoderRNN.py
│ │ ├── Evaluator.py
│ │ ├── GreedyDecoder.py
│ │ ├── Int2Text.py
│ │ ├── NormailizeString.py
│ │ ├── Seq2Seq.py
│ │ ├── Voc.py
│ │ ├── chatbot.cfg.json
│ │ ├── config.json
│ │ ├── cornell movie-dialogs corpus
│ │ │ ├── .DS_Store
│ │ │ ├── README.txt
│ │ │ ├── chameleons.pdf
│ │ │ ├── formatted_movie_lines.txt
│ │ │ ├── movie_characters_metadata.txt
│ │ │ ├── movie_conversations.txt
│ │ │ ├── movie_lines.txt
│ │ │ ├── movie_titles_metadata.txt
│ │ │ └── raw_script_urls.txt
│ │ └── net.json
│ ├── DayTrader
│ │ ├── MSFT_data.csv
│ │ ├── config.json
│ │ ├── data_downloader.py
│ │ ├── day_trader_app.py
│ │ ├── msft.ds-copy
│ │ ├── net.json
│ │ ├── q.cfg.json
│ │ ├── q.net.json
│ │ └── server.py
│ └── NotHotdog
│ │ ├── config.json
│ │ ├── net.json
│ │ ├── server.py
│ │ ├── static
│ │ ├── css
│ │ │ ├── data.css
│ │ │ ├── main.css
│ │ │ ├── material-dashboard.css
│ │ │ ├── material-dashboard.min.css
│ │ │ └── util.css
│ │ ├── fonts
│ │ │ ├── font-awesome-4.7.0
│ │ │ │ ├── HELP-US-OUT.txt
│ │ │ │ ├── css
│ │ │ │ │ ├── font-awesome.css
│ │ │ │ │ └── font-awesome.min.css
│ │ │ │ ├── fonts
│ │ │ │ │ ├── FontAwesome.otf
│ │ │ │ │ ├── fontawesome-webfont.eot
│ │ │ │ │ ├── fontawesome-webfont.svg
│ │ │ │ │ ├── fontawesome-webfont.ttf
│ │ │ │ │ ├── fontawesome-webfont.woff
│ │ │ │ │ └── fontawesome-webfont.woff2
│ │ │ │ ├── less
│ │ │ │ │ ├── animated.less
│ │ │ │ │ ├── bordered-pulled.less
│ │ │ │ │ ├── core.less
│ │ │ │ │ ├── fixed-width.less
│ │ │ │ │ ├── font-awesome.less
│ │ │ │ │ ├── icons.less
│ │ │ │ │ ├── larger.less
│ │ │ │ │ ├── list.less
│ │ │ │ │ ├── mixins.less
│ │ │ │ │ ├── path.less
│ │ │ │ │ ├── rotated-flipped.less
│ │ │ │ │ ├── screen-reader.less
│ │ │ │ │ ├── stacked.less
│ │ │ │ │ └── variables.less
│ │ │ │ └── scss
│ │ │ │ │ ├── _animated.scss
│ │ │ │ │ ├── _bordered-pulled.scss
│ │ │ │ │ ├── _core.scss
│ │ │ │ │ ├── _fixed-width.scss
│ │ │ │ │ ├── _icons.scss
│ │ │ │ │ ├── _larger.scss
│ │ │ │ │ ├── _list.scss
│ │ │ │ │ ├── _mixins.scss
│ │ │ │ │ ├── _path.scss
│ │ │ │ │ ├── _rotated-flipped.scss
│ │ │ │ │ ├── _screen-reader.scss
│ │ │ │ │ ├── _stacked.scss
│ │ │ │ │ ├── _variables.scss
│ │ │ │ │ └── font-awesome.scss
│ │ │ └── poppins
│ │ │ │ ├── Poppins-Black.ttf
│ │ │ │ ├── Poppins-BlackItalic.ttf
│ │ │ │ ├── Poppins-Bold.ttf
│ │ │ │ ├── Poppins-BoldItalic.ttf
│ │ │ │ ├── Poppins-ExtraBold.ttf
│ │ │ │ ├── Poppins-ExtraBoldItalic.ttf
│ │ │ │ ├── Poppins-ExtraLight.ttf
│ │ │ │ ├── Poppins-ExtraLightItalic.ttf
│ │ │ │ ├── Poppins-Italic.ttf
│ │ │ │ ├── Poppins-Light.ttf
│ │ │ │ ├── Poppins-LightItalic.ttf
│ │ │ │ ├── Poppins-Medium.ttf
│ │ │ │ ├── Poppins-MediumItalic.ttf
│ │ │ │ ├── Poppins-Regular.ttf
│ │ │ │ ├── Poppins-SemiBold.ttf
│ │ │ │ ├── Poppins-SemiBoldItalic.ttf
│ │ │ │ ├── Poppins-Thin.ttf
│ │ │ │ └── Poppins-ThinItalic.ttf
│ │ ├── images
│ │ │ ├── apple-icon.png
│ │ │ ├── cover.jpg
│ │ │ ├── faces
│ │ │ │ ├── avatar.jpg
│ │ │ │ ├── card-profile1-square.jpg
│ │ │ │ ├── card-profile2-square.jpg
│ │ │ │ └── marc.jpg
│ │ │ ├── favicon.png
│ │ │ ├── icons
│ │ │ │ ├── circled-left-2.png
│ │ │ │ ├── favicon.ico
│ │ │ │ ├── fb-icon.png
│ │ │ │ ├── gram-Icon.png
│ │ │ │ ├── person-icon.png
│ │ │ │ ├── pinterest-logo.png
│ │ │ │ ├── reddit.png
│ │ │ │ ├── speech-icon.png
│ │ │ │ ├── star-icon.png
│ │ │ │ ├── tumblr-icon.png
│ │ │ │ ├── twt-icon.png
│ │ │ │ └── youtube-icon.png
│ │ │ ├── mask.png
│ │ │ ├── new_logo.png
│ │ │ ├── sidebar-1.jpg
│ │ │ ├── sidebar-2.jpg
│ │ │ ├── sidebar-3.jpg
│ │ │ └── sidebar-4.jpg
│ │ ├── js
│ │ │ ├── autotable.js
│ │ │ ├── core
│ │ │ │ ├── bootstrap-material-design.min.js
│ │ │ │ ├── jquery.min.js
│ │ │ │ └── popper.min.js
│ │ │ ├── filedl.js
│ │ │ ├── jquery.csv.min.js
│ │ │ ├── material-dashboard.js
│ │ │ ├── material-dashboard.js.map
│ │ │ ├── material-dashboard.min.js
│ │ │ ├── plugins
│ │ │ │ ├── bootstrap-notify.js
│ │ │ │ ├── chartist.min.js
│ │ │ │ └── perfect-scrollbar.jquery.min.js
│ │ │ └── viz.js
│ │ ├── scss
│ │ │ ├── material-dashboard.scss
│ │ │ └── material-dashboard
│ │ │ │ ├── _alerts.scss
│ │ │ │ ├── _buttons.scss
│ │ │ │ ├── _cards.scss
│ │ │ │ ├── _checkboxes.scss
│ │ │ │ ├── _core-bootstrap.scss
│ │ │ │ ├── _dark-edition.scss
│ │ │ │ ├── _dropdown.scss
│ │ │ │ ├── _example-pages.scss
│ │ │ │ ├── _fixed-plugin.scss
│ │ │ │ ├── _footers.scss
│ │ │ │ ├── _forms.scss
│ │ │ │ ├── _headers.scss
│ │ │ │ ├── _images.scss
│ │ │ │ ├── _info-areas.scss
│ │ │ │ ├── _input-group.scss
│ │ │ │ ├── _misc.scss
│ │ │ │ ├── _mixins.scss
│ │ │ │ ├── _navbar.scss
│ │ │ │ ├── _popover.scss
│ │ │ │ ├── _popups.scss
│ │ │ │ ├── _radios.scss
│ │ │ │ ├── _responsive.scss
│ │ │ │ ├── _ripples.scss
│ │ │ │ ├── _sidebar-and-main-panel.scss
│ │ │ │ ├── _social-buttons.scss
│ │ │ │ ├── _tables.scss
│ │ │ │ ├── _tabs.scss
│ │ │ │ ├── _togglebutton.scss
│ │ │ │ ├── _tooltip.scss
│ │ │ │ ├── _type.scss
│ │ │ │ ├── _variables.scss
│ │ │ │ ├── bootstrap
│ │ │ │ └── scss
│ │ │ │ │ ├── _alert.scss
│ │ │ │ │ ├── _badge.scss
│ │ │ │ │ ├── _breadcrumb.scss
│ │ │ │ │ ├── _button-group.scss
│ │ │ │ │ ├── _buttons.scss
│ │ │ │ │ ├── _card.scss
│ │ │ │ │ ├── _carousel.scss
│ │ │ │ │ ├── _close.scss
│ │ │ │ │ ├── _code.scss
│ │ │ │ │ ├── _custom-forms.scss
│ │ │ │ │ ├── _dropdown.scss
│ │ │ │ │ ├── _forms.scss
│ │ │ │ │ ├── _functions.scss
│ │ │ │ │ ├── _grid.scss
│ │ │ │ │ ├── _images.scss
│ │ │ │ │ ├── _input-group.scss
│ │ │ │ │ ├── _jumbotron.scss
│ │ │ │ │ ├── _list-group.scss
│ │ │ │ │ ├── _media.scss
│ │ │ │ │ ├── _mixins.scss
│ │ │ │ │ ├── _modal.scss
│ │ │ │ │ ├── _nav.scss
│ │ │ │ │ ├── _navbar.scss
│ │ │ │ │ ├── _pagination.scss
│ │ │ │ │ ├── _popover.scss
│ │ │ │ │ ├── _print.scss
│ │ │ │ │ ├── _progress.scss
│ │ │ │ │ ├── _reboot.scss
│ │ │ │ │ ├── _root.scss
│ │ │ │ │ ├── _tables.scss
│ │ │ │ │ ├── _tooltip.scss
│ │ │ │ │ ├── _transitions.scss
│ │ │ │ │ ├── _type.scss
│ │ │ │ │ ├── _utilities.scss
│ │ │ │ │ ├── _variables.scss
│ │ │ │ │ ├── bootstrap-grid.scss
│ │ │ │ │ ├── bootstrap-reboot.scss
│ │ │ │ │ ├── bootstrap.scss
│ │ │ │ │ ├── mixins
│ │ │ │ │ ├── _alert.scss
│ │ │ │ │ ├── _background-variant.scss
│ │ │ │ │ ├── _badge.scss
│ │ │ │ │ ├── _border-radius.scss
│ │ │ │ │ ├── _box-shadow.scss
│ │ │ │ │ ├── _breakpoints.scss
│ │ │ │ │ ├── _buttons.scss
│ │ │ │ │ ├── _caret.scss
│ │ │ │ │ ├── _clearfix.scss
│ │ │ │ │ ├── _float.scss
│ │ │ │ │ ├── _forms.scss
│ │ │ │ │ ├── _gradients.scss
│ │ │ │ │ ├── _grid-framework.scss
│ │ │ │ │ ├── _grid.scss
│ │ │ │ │ ├── _hover.scss
│ │ │ │ │ ├── _image.scss
│ │ │ │ │ ├── _list-group.scss
│ │ │ │ │ ├── _lists.scss
│ │ │ │ │ ├── _nav-divider.scss
│ │ │ │ │ ├── _navbar-align.scss
│ │ │ │ │ ├── _pagination.scss
│ │ │ │ │ ├── _reset-text.scss
│ │ │ │ │ ├── _resize.scss
│ │ │ │ │ ├── _screen-reader.scss
│ │ │ │ │ ├── _size.scss
│ │ │ │ │ ├── _table-row.scss
│ │ │ │ │ ├── _text-emphasis.scss
│ │ │ │ │ ├── _text-hide.scss
│ │ │ │ │ ├── _text-truncate.scss
│ │ │ │ │ ├── _transition.scss
│ │ │ │ │ └── _visibility.scss
│ │ │ │ │ └── utilities
│ │ │ │ │ ├── _align.scss
│ │ │ │ │ ├── _background.scss
│ │ │ │ │ ├── _borders.scss
│ │ │ │ │ ├── _clearfix.scss
│ │ │ │ │ ├── _display.scss
│ │ │ │ │ ├── _embed.scss
│ │ │ │ │ ├── _flex.scss
│ │ │ │ │ ├── _float.scss
│ │ │ │ │ ├── _position.scss
│ │ │ │ │ ├── _screenreaders.scss
│ │ │ │ │ ├── _sizing.scss
│ │ │ │ │ ├── _spacing.scss
│ │ │ │ │ ├── _text.scss
│ │ │ │ │ └── _visibility.scss
│ │ │ │ ├── cards
│ │ │ │ ├── _card-plain.scss
│ │ │ │ ├── _card-profile.scss
│ │ │ │ └── _card-stats.scss
│ │ │ │ ├── dark-edition
│ │ │ │ ├── _dark-alert.scss
│ │ │ │ ├── _dark-buttons.scss
│ │ │ │ ├── _dark-card-chart.scss
│ │ │ │ ├── _dark-card-plain.scss
│ │ │ │ ├── _dark-card-stats.scss
│ │ │ │ ├── _dark-card.scss
│ │ │ │ ├── _dark-checkboxes.scss
│ │ │ │ ├── _dark-colors.scss
│ │ │ │ ├── _dark-dropdown.scss
│ │ │ │ ├── _dark-fixed-plugin.scss
│ │ │ │ ├── _dark-footer.scss
│ │ │ │ ├── _dark-forms.scss
│ │ │ │ ├── _dark-heartbeat-animation.scss
│ │ │ │ ├── _dark-mixins.scss
│ │ │ │ ├── _dark-navbar.scss
│ │ │ │ ├── _dark-popover-tooltip.scss
│ │ │ │ ├── _dark-radios.scss
│ │ │ │ ├── _dark-sidebar.scss
│ │ │ │ ├── _dark-tables.scss
│ │ │ │ ├── _dark-tabs.scss
│ │ │ │ └── _dark-variables.scss
│ │ │ │ ├── mixins
│ │ │ │ ├── _alert.scss
│ │ │ │ ├── _animations.scss
│ │ │ │ ├── _breakpoints.scss
│ │ │ │ ├── _buttons.scss
│ │ │ │ ├── _chartist.scss
│ │ │ │ ├── _colored-shadows.scss
│ │ │ │ ├── _drawer.scss
│ │ │ │ ├── _forms.scss
│ │ │ │ ├── _hover.scss
│ │ │ │ ├── _layout.scss
│ │ │ │ ├── _navbar-colors.scss
│ │ │ │ ├── _navs.scss
│ │ │ │ ├── _sidebar-color.scss
│ │ │ │ ├── _transparency.scss
│ │ │ │ ├── _type.scss
│ │ │ │ ├── _utilities.scss
│ │ │ │ ├── _variables.scss
│ │ │ │ └── _vendor-prefixes.scss
│ │ │ │ ├── plugins
│ │ │ │ ├── _animate.scss
│ │ │ │ ├── _chartist.scss
│ │ │ │ └── _perfect-scrollbar.scss
│ │ │ │ └── variables
│ │ │ │ ├── _body.scss
│ │ │ │ ├── _bootstrap-material-design-base.scss
│ │ │ │ ├── _bootstrap-material-design.scss
│ │ │ │ ├── _brand.scss
│ │ │ │ ├── _buttons.scss
│ │ │ │ ├── _card.scss
│ │ │ │ ├── _code.scss
│ │ │ │ ├── _colors-map.scss
│ │ │ │ ├── _colors.scss
│ │ │ │ ├── _custom-forms.scss
│ │ │ │ ├── _drawer.scss
│ │ │ │ ├── _dropdown.scss
│ │ │ │ ├── _forms.scss
│ │ │ │ ├── _layout.scss
│ │ │ │ ├── _list-group.scss
│ │ │ │ ├── _menu.scss
│ │ │ │ ├── _modals.scss
│ │ │ │ ├── _nav.scss
│ │ │ │ ├── _pagination.scss
│ │ │ │ ├── _shadow.scss
│ │ │ │ ├── _snackbar.scss
│ │ │ │ ├── _spacing.scss
│ │ │ │ ├── _state.scss
│ │ │ │ ├── _tables.scss
│ │ │ │ ├── _tooltip.scss
│ │ │ │ └── _type.scss
│ │ └── vendor
│ │ │ ├── animate
│ │ │ └── animate.css
│ │ │ ├── animsition
│ │ │ ├── css
│ │ │ │ ├── animsition.css
│ │ │ │ └── animsition.min.css
│ │ │ └── js
│ │ │ │ ├── animsition.js
│ │ │ │ └── animsition.min.js
│ │ │ ├── bootstrap
│ │ │ ├── css
│ │ │ │ ├── bootstrap-grid.css
│ │ │ │ ├── bootstrap-grid.css.map
│ │ │ │ ├── bootstrap-grid.min.css
│ │ │ │ ├── bootstrap-grid.min.css.map
│ │ │ │ ├── bootstrap-reboot.css
│ │ │ │ ├── bootstrap-reboot.css.map
│ │ │ │ ├── bootstrap-reboot.min.css
│ │ │ │ ├── bootstrap-reboot.min.css.map
│ │ │ │ ├── bootstrap.css
│ │ │ │ ├── bootstrap.css.map
│ │ │ │ ├── bootstrap.min.css
│ │ │ │ └── bootstrap.min.css.map
│ │ │ └── js
│ │ │ │ ├── bootstrap.js
│ │ │ │ ├── bootstrap.min.js
│ │ │ │ ├── popper.js
│ │ │ │ ├── popper.min.js
│ │ │ │ └── tooltip.js
│ │ │ ├── countdowntime
│ │ │ └── countdowntime.js
│ │ │ ├── css-hamburgers
│ │ │ ├── hamburgers.css
│ │ │ └── hamburgers.min.css
│ │ │ ├── daterangepicker
│ │ │ ├── daterangepicker.css
│ │ │ ├── daterangepicker.js
│ │ │ ├── moment.js
│ │ │ └── moment.min.js
│ │ │ ├── jquery
│ │ │ └── jquery-3.2.1.min.js
│ │ │ ├── perfect-scrollbar
│ │ │ ├── perfect-scrollbar.css
│ │ │ └── perfect-scrollbar.min.js
│ │ │ └── select2
│ │ │ ├── select2.css
│ │ │ ├── select2.js
│ │ │ ├── select2.min.css
│ │ │ └── select2.min.js
│ │ └── templates
│ │ ├── 2.html
│ │ └── index.html
├── Loss
│ ├── LR_Finder.py
│ ├── MaskedLoss.py
│ ├── SmoothedCrossEntropy.py
│ ├── SmoothedCrossEntropyLoss.py
│ └── __init__.py
├── Modules
│ ├── BayesBlock.py
│ ├── BayesianLinear.py
│ ├── Concat.py
│ ├── EfficientNet.py
│ ├── EfficientNetBody.py
│ ├── EncoderCNN.py
│ ├── Flatten.py
│ ├── GAIL.py
│ ├── GMM.py
│ ├── GPClf.py
│ ├── Gaussian.py
│ ├── Jsonify.py
│ ├── NeuralODE.py
│ ├── ODEBlock.py
│ ├── PlaceHolder.py
│ ├── Recurrence.py
│ ├── ReplayMemory.py
│ ├── ResBlock.py
│ ├── Reshape.py
│ ├── Sparsemax.py
│ ├── TCN.py
│ ├── WordTCN.py
│ └── __init__.py
├── RabbitMQ
│ ├── Client.py
│ ├── Host.py
│ └── __init__.py
├── Server
│ ├── __init__.py
│ ├── app.py
│ ├── settings.py
│ └── tasks.py
└── __init__.py
├── LICENSE
├── README.md
├── __init__.py
├── add2blx
├── blox
├── img
├── BLOX.png
└── construction.png
├── install.sh
├── requirements.txt
├── setup.cfg
└── setup.py
/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 | *$py.class
5 |
6 | # C extensions
7 | *.so
8 |
9 | # Distribution / packaging
10 | .Python
11 | build/
12 | develop-eggs/
13 | dist/
14 | downloads/
15 | eggs/
16 | .eggs/
17 | lib/
18 | lib64/
19 | parts/
20 | sdist/
21 | var/
22 | wheels/
23 | *.egg-info/
24 | .installed.cfg
25 | *.egg
26 | MANIFEST
27 |
28 | # PyInstaller
29 | # Usually these files are written by a python script from a template
30 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
31 | *.manifest
32 | *.spec
33 |
34 | # Installer logs
35 | pip-log.txt
36 | pip-delete-this-directory.txt
37 |
38 | # Unit test / coverage reports
39 | htmlcov/
40 | .tox/
41 | .coverage
42 | .coverage.*
43 | .cache
44 | nosetests.xml
45 | coverage.xml
46 | *.cover
47 | .hypothesis/
48 | .pytest_cache/
49 |
50 | # Translations
51 | *.mo
52 | *.pot
53 |
54 | # Django stuff:
55 | *.log
56 | local_settings.py
57 | db.sqlite3
58 |
59 | # Flask stuff:
60 | instance/
61 | .webassets-cache
62 |
63 | # Scrapy stuff:
64 | .scrapy
65 |
66 | # Sphinx documentation
67 | docs/_build/
68 |
69 | # PyBuilder
70 | target/
71 |
72 | # Jupyter Notebook
73 | .ipynb_checkpoints
74 |
75 | # pyenv
76 | .python-version
77 |
78 | # celery beat schedule file
79 | celerybeat-schedule
80 |
81 | # SageMath parsed files
82 | *.sage.py
83 |
84 | # Environments
85 | .env
86 | .venv
87 | env/
88 | venv/
89 | ENV/
90 | env.bak/
91 | venv.bak/
92 |
93 | # Spyder project settings
94 | .spyderproject
95 | .spyproject
96 |
97 | # Rope project settings
98 | .ropeproject
99 |
100 | # mkdocs documentation
101 | /site
102 |
103 | # mypy
104 | .mypy_cache/
105 |
--------------------------------------------------------------------------------
/BLOX/Common/Cntr.py:
--------------------------------------------------------------------------------
1 |
2 |
3 | class Cntr:
4 |
5 | def __init__(self,init_value=0.):
6 | self.cnt = init_value
7 |
8 | def __iadd__(self,i):
9 | if isinstance(i,type(self.cnt) ):self.cnt+=i
10 | if isinstance(i,Cntr):self.cnt+=i
11 | return self
12 |
13 | def __add__(self,i):
14 | if isinstance(i,type(self.cnt) ):self.cnt+=i
15 | if isinstance(i,Cntr):self+=i
16 | return self
17 |
18 | def __truediv__(self,v):
19 | if isinstance(i,type(self.cnt) ):self.cnt/=v
20 | if isinstance(i,Cntr):self/=v
21 | return self
22 |
23 | def __int__(self):
24 | return int(self.cnt)
25 | def __float__(self):
26 | return float(self.cnt)
27 |
--------------------------------------------------------------------------------
/BLOX/Common/Counter.py:
--------------------------------------------------------------------------------
1 |
2 |
3 | class Cntr:
4 |
5 | def __init__(self,init_value=0.):
6 | self.cnt = init_value
7 |
8 | def __iadd__(self,i):
9 | if isinstance(i,type(self.cnt) ):self.cnt+=i
10 | if isinstance(i,Cntr):self.cnt+=i
11 | return self
12 |
13 | def __add__(self,i):
14 | if isinstance(i,type(self.cnt) ):self.cnt+=i
15 | if isinstance(i,Cntr):self+=i
16 | return self
17 |
18 | def __truediv__(self,v):
19 | if isinstance(i,type(self.cnt) ):self.cnt/=v
20 | if isinstance(i,Cntr):self/=v
21 | return self
22 |
23 | def __int__(self):
24 | return int(self.cnt)
25 | def __float__(self):
26 | return float(self.cnt)
27 |
--------------------------------------------------------------------------------
/BLOX/Common/Dialects.py:
--------------------------------------------------------------------------------
1 |
2 | '''
3 | Eventually we're going to support TF as well
4 | '''
5 |
6 | # import torch
7 |
8 |
9 | # PT = {
10 | # 'MODULE':nn.Module
11 | # }
12 |
13 | # TF = {
14 |
15 | # }
--------------------------------------------------------------------------------
/BLOX/Common/Functions.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 | """
4 | Copyright (c) 2019, Linear Labs Technologies
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 | You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | """
19 | import torch
20 | from torch import nn
21 | import math
22 |
23 |
24 | class Swish(nn.Module):
25 | """ Swish activation function """
26 | def __init__(self):
27 | super(Swish,self).__init__()
28 |
29 | def forward(self,x):return x * 0.5 * (1.0 + torch.erf(x / math.sqrt(2.0)))
30 |
31 | class GELU(nn.Module):
32 | """
33 | Implimentaiton od GAUSSIAN ERROR LINEAR UNITS
34 | see: https://arxiv.org/pdf/1606.08415.pdf for details
35 |
36 | I mean, in the paper they state they want a bernoulli distribution on droping connections,
37 | but we can just use the below formulation to approximate.
38 | """
39 | def __init__(self):super(GELU,self).__init__()
40 |
41 | def forward(self,x): return x * torch.sigmoid( 1.702*x )
--------------------------------------------------------------------------------
/BLOX/Common/Globals.py:
--------------------------------------------------------------------------------
1 |
2 | import importlib,inspect
3 | def load_dynamic_modules(module):
4 | try:
5 | imported = import_module(module)
6 | except:
7 | imported = __import__(module)
8 | table = {}
9 | for c in inspect.getmembers(imported, inspect.ismodule):
10 | try:
11 | table[c[0]] = getattr(c[1],c[0])
12 | except Exception as e:pass
13 | return table
14 | USER_DEFINED = {}
15 | PREDEFINED = load_dynamic_modules('BLOX.Modules')
16 |
17 | # PATH
18 |
19 | # def get_global(key):
20 |
--------------------------------------------------------------------------------
/BLOX/Common/RandData.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 | """
4 | Copyright (c) 2019, Linear Labs Technologies
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 | You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | """
19 | import random,torch
20 |
21 | def GenRandDatSet(input_size=128,output_size=128,size=500,categorical=False):
22 | return {
23 | 'inputs' :torch.randn(size,1, input_size) ,
24 | 'targets':torch.randn(size,1,output_size)
25 | } if not categorical else {
26 | 'inputs' :torch.randn(size,1, input_size),
27 | 'targets':torch.LongTensor((size,1)).random_(0, output_size)
28 | }
--------------------------------------------------------------------------------
/BLOX/Common/SKL.py:
--------------------------------------------------------------------------------
1 | import torch
2 | from torch import nn
3 | import sklearn
4 |
5 | class SKL(nn.Module):
6 |
7 | '''
8 | A simple wrapper around the sklearn library to use in downstream tasks
9 | '''
10 |
11 | def __init__(self,mtype,**kwargs):
12 | model = sklearn
13 | for m in mtype.split('.'):model = getattr(model,m)
14 | self.model = model(**kwargs)
15 |
16 | def forward(self,x):
17 | if isinstance(x,torch.Tensor):
18 | if torch.cuda.is_available():x = x.cpu()
19 | return torch.from_numpy(self.model.predict(x.data.numpy()))
20 | return torch.from_numpy(self.model.predict(x))
21 |
22 | def load_state_dict(self,fname):pass
--------------------------------------------------------------------------------
/BLOX/Common/SanityCheck.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 | """
4 | Copyright (c) 2019, Linear Labs Technologies
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 | You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | """
19 | REQS = {
20 | "Epochs":1,
21 | "SaveEvery":-1,
22 | "BatchSize":32,
23 | "DataSet":"test.ds",
24 | "FileExt":"test.pt",
25 | "Verbose":False,
26 | "TensorboardX":{
27 |
28 | }
29 | }
30 |
31 | def CheckConfig(self,config):
32 | for k in REQS.keys():
33 | if k not in config:config[k] = REQS[k]
34 | return config
--------------------------------------------------------------------------------
/BLOX/Common/Strings.py:
--------------------------------------------------------------------------------
1 |
2 | #!/usr/bin/env python3
3 | # -*- coding: utf-8 -*-
4 | """
5 | Copyright (c) 2019, Linear Labs Technologies
6 |
7 | Licensed under the Apache License, Version 2.0 (the "License");
8 | you may not use this file except in compliance with the License.
9 | You may obtain a copy of the License at
10 |
11 | http://www.apache.org/licenses/LICENSE-2.0
12 |
13 | Unless required by applicable law or agreed to in writing, software
14 | distributed under the License is distributed on an "AS IS" BASIS,
15 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | See the License for the specific language governing permissions and
17 | limitations under the License.
18 |
19 | """
20 |
21 | TITLE = \
22 | """
23 |
24 | .----------------. .----------------. .----------------. .----------------.
25 | | .--------------. | .--------------. | .--------------. | .--------------. |
26 | | | ______ | | | _____ | | | ____ | | | ____ ____ | |
27 | | | |_ _ \ | | | |_ _| | | | .' `. | | | |_ _||_ _| | |
28 | | | | |_) | | | | | | | | | / .--. \ | | | \ \ / / | |
29 | | | | __'. | | | | | _ | | | | | | | | | | > `' < | |
30 | | | _| |__) | | | | _| |__/ | | | | \ `--' / | | | _/ /'`\ \_ | |
31 | | | |_______/ | | | |________| | | | `.____.' | | | |____||____| | |
32 | | | | | | | | | | | | | |
33 | | '--------------' | '--------------' | '--------------' | '--------------' |
34 | '----------------' '----------------' '----------------' '----------------'
35 |
36 | """
--------------------------------------------------------------------------------
/BLOX/Common/__init__.py:
--------------------------------------------------------------------------------
1 | from os import listdir
2 | from os.path import dirname, basename
3 |
4 | __all__ = [basename(f)[:-3] for f in listdir(dirname(__file__)) if f[-3:] == ".py" and not f.endswith("__init__.py")]
--------------------------------------------------------------------------------
/BLOX/Core/Metrics.py:
--------------------------------------------------------------------------------
1 | import inspect
2 | import ignite.metrics as metrics
3 |
4 | METRICS = dict(inspect.getmembers(metrics))
--------------------------------------------------------------------------------
/BLOX/Core/Preprocessor.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 | """
4 | Copyright (c) 2019, Linear Labs Technology
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 | You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | """
19 | from ..Common.utils import StrOrDict as sod,load
20 | from ..DataSet.DataTools import img2tensor
21 | from torch import nn
22 | class ImgPreProcessor(nn.Module):
23 | processors = []
24 | def __init__(self,cfg):
25 | super(PreProcessor,self).__init__()
26 | cfg = sod(cfg)
27 | self.steps = load(cfg['IMPORTS'])
28 | self.order = cfg['BLOX']
29 |
30 | def forward(self,x):
31 | return img2tensor(x)
32 |
33 |
34 |
--------------------------------------------------------------------------------
/BLOX/Core/__init__.py:
--------------------------------------------------------------------------------
1 | from os import listdir
2 | from os.path import dirname, basename
3 | from .PipeLine import Pipe,PipeLine
4 | __all__ = [basename(f)[:-3] for f in listdir(dirname(__file__)) if f[-3:] == ".py" and not f.endswith("__init__.py")]
--------------------------------------------------------------------------------
/BLOX/DataSet/GMM.py:
--------------------------------------------------------------------------------
1 |
2 | import torch
3 | from torch import nn
4 | import math
5 | CONST = math.sqrt( 2*math.pi )
6 |
7 | class GF(torch.autograd.Function):
8 |
9 | @staticmethod
10 | def forward(ctx, x, mu, sigma):
11 | ctx.save_for_backward(input, weight, bias)
12 | return ( 1.0/ (sigma * CONST) )*torch.exp(-.5*( torch.pow( (x-mu)/sigma,2.0 ) ) )
13 |
14 | @staticmethod
15 | def backward(ctx, grad_output):
16 | x,mu,sigma = ctx.saved_tensors
17 | grad_x = grad_mu = grad_sigma = None
18 |
19 | # if ctx.needs_input_grad[0]:
20 | # grad_input = grad_output.mm(weight)
21 | # if ctx.needs_input_grad[1]:
22 | # grad_weight = grad_output.t().mm(input)
23 | # if bias is not None and ctx.needs_input_grad[2]:
24 | # grad_bias = grad_output.sum(0).squeeze(0)
25 |
26 | # return grad_input, grad_weight, grad_bias
27 | if ctx.needs_input_grad[1]: grad_mu = (x-mu)/float(len(mu))
28 | if ctx.needs_input_grad[2]:
29 | invsig = torch.inverse(sigma)
30 | grad_sigma = 0.5 * (-invsig + torch.sum(invsig.dot(x - mu) * x))
31 |
32 | return grad_x,grad_mu, grad_sigma
33 |
34 |
35 |
36 | class Guassian(nn.Module):
37 |
38 | def __init__(self,input_size,mu=None,sigma=None):
39 |
40 | if mu is None:
41 | mu = torch.zeros(input_size)
42 | if sigma is None:
43 | sigma = torch.ones(input_size)
44 | self.mu = mu
45 | self.sigma = sigma
46 |
47 | def forward(self,x):
48 | return GF.apply(x,self.mu,self.sigma)
--------------------------------------------------------------------------------
/BLOX/DataSet/Imgs2DataSet.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 | """
4 | Copyright (c) 2019, Linear Labs Technology
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 | You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | """
19 |
20 | import os,torch
21 | from .DataSet import DataSet
22 | from .DataTools import img2tensor
23 | def convert(dl_dir,type='classification'):
24 | dirs = os.listdir(dl_dir)#[d for d in os.listdir(dl_dir) if os.path.isdir(d)]
25 | classes = dict(
26 | zip(
27 | dirs,
28 | list(range(len(dirs)))
29 | )
30 | )
31 | data = {'inputs':[],'targets':[]}
32 | for c in dirs:
33 | for img in os.listdir( os.path.join(dl_dir, c) ):
34 | data['inputs'].append( img2tensor(os.path.join( os.path.join(dl_dir, c),img )) )
35 | data['targets'].append( torch.tensor([classes[c]]) )
36 |
37 | return classes,data
38 |
39 |
--------------------------------------------------------------------------------
/BLOX/DataSet/MultiStreamingDataSet.py:
--------------------------------------------------------------------------------
1 |
2 | from .DataSet import DataSet
3 | from BLOX.Common.utils import StrOrDict as sod
4 | class MultiStreamingDataSet:
5 |
6 | def __init__(self,cfg=None):
7 | self.idx = 0
8 | self.size = -1
9 | self.ds_idx = -1
10 | self.n_data_sets = 0
11 | self.data_sets = []
12 | self.curr_ds = None
13 | self.mode = 'cpu'
14 | if cfg:self.init(cfg)
15 |
16 | def __len__(self):return self.size
17 |
18 | def cpu(self):
19 | self.mode = 'cpu'
20 | self.curr_ds.cpu()
21 | return self
22 |
23 | def cuda(self):
24 | self.mode = 'cuda'
25 | self.curr_ds.cuda()
26 | return self
27 |
28 | def __getitem__(self,idx):
29 |
30 | itr = idx % int(sum( self.sizes[:self.ds_idx] ) )
31 | return self.curr_ds[itr]
32 |
33 | def load(self,ds):
34 | self.curr_ds = getattr(DataSet(ds['file']),self.mode)()
35 | self.ds_idx += 1
36 |
37 | def reset(self):
38 |
39 |
40 |
41 | def init(self,cfg):
42 | cfg = sod(cfg)
43 | self.data_sets = cfg['DataSets']
44 | self.n_data_sets = len(self.data_sets)
45 | self.sizes = [ d['size'] for d in self.data_sets]
46 | self.size = int(sum(self.sizes))
47 |
48 |
--------------------------------------------------------------------------------
/BLOX/DataSet/__init__.py:
--------------------------------------------------------------------------------
1 | from os import listdir
2 | from os.path import dirname, basename
3 |
4 | __all__ = [basename(f)[:-3] for f in listdir(dirname(__file__)) if f[-3:] == ".py" and not f.endswith("__init__.py")]
--------------------------------------------------------------------------------
/BLOX/Examples/ChatBot/Attn.py:
--------------------------------------------------------------------------------
1 | class Attn(nn.Module):
2 | def __init__(self, method, hidden_size):
3 | super(Attn, self).__init__()
4 | self.method = method
5 | if self.method not in ['dot', 'general', 'concat']:
6 | raise ValueError(self.method, "is not an appropriate attention method.")
7 | self.hidden_size = hidden_size
8 | if self.method == 'general':
9 | self.attn = nn.Linear(self.hidden_size, hidden_size)
10 | elif self.method == 'concat':
11 | self.attn = nn.Linear(self.hidden_size * 2, hidden_size)
12 | self.v = nn.Parameter(torch.FloatTensor(hidden_size))
13 |
14 | def dot_score(self, hidden, encoder_output):
15 | return torch.sum(hidden * encoder_output, dim=2)
16 |
17 | def general_score(self, hidden, encoder_output):
18 | energy = self.attn(encoder_output)
19 | return torch.sum(hidden * energy, dim=2)
20 |
21 | def concat_score(self, hidden, encoder_output):
22 | energy = self.attn(torch.cat((hidden.expand(encoder_output.size(0), -1, -1), encoder_output), 2)).tanh()
23 | return torch.sum(self.v * energy, dim=2)
24 |
25 | def forward(self, hidden, encoder_outputs):
26 | # Calculate the attention weights (energies) based on the given method
27 | if self.method == 'general':
28 | attn_energies = self.general_score(hidden, encoder_outputs)
29 | elif self.method == 'concat':
30 | attn_energies = self.concat_score(hidden, encoder_outputs)
31 | elif self.method == 'dot':
32 | attn_energies = self.dot_score(hidden, encoder_outputs)
33 |
34 | # Transpose max_length and batch_size dimensions
35 | attn_energies = attn_energies.t()
36 |
37 | # Return the softmax normalized probability scores (with added dimension)
38 | return F.softmax(attn_energies, dim=1).unsqueeze(1)
--------------------------------------------------------------------------------
/BLOX/Examples/ChatBot/AttnDecoder.py:
--------------------------------------------------------------------------------
1 | class AttnDecoderRNN(nn.Module):
2 | def __init__(self, attn_model, embedding, hidden_size, output_size, n_layers=1, dropout=0.1):
3 | super(AttnDecoderRNN, self).__init__()
4 |
5 | # Keep for reference
6 | self.attn_model = attn_model
7 | self.hidden_size = hidden_size
8 | self.output_size = output_size
9 | self.n_layers = n_layers
10 | self.dropout = dropout
11 |
12 | # Define layers
13 | self.embedding = embedding
14 | self.embedding_dropout = nn.Dropout(dropout)
15 | self.gru = nn.GRU(hidden_size, hidden_size, n_layers, dropout=(0 if n_layers == 1 else dropout))
16 | self.concat = nn.Linear(hidden_size * 2, hidden_size)
17 | self.out = nn.Linear(hidden_size, output_size)
18 |
19 | self.attn = Attn(attn_model, hidden_size)
20 |
21 | def forward(self, input_step, last_hidden, encoder_outputs):
22 | # Note: we run this one step (word) at a time
23 | # Get embedding of current input word
24 | embedded = self.embedding(input_step)
25 | embedded = self.embedding_dropout(embedded)
26 | # Forward through unidirectional GRU
27 | rnn_output, hidden = self.gru(embedded, last_hidden)
28 | # Calculate attention weights from the current GRU output
29 | attn_weights = self.attn(rnn_output, encoder_outputs)
30 | # Multiply attention weights to encoder outputs to get new "weighted sum" context vector
31 | context = attn_weights.bmm(encoder_outputs.transpose(0, 1))
32 | # Concatenate weighted context vector and GRU output using Luong eq. 5
33 | rnn_output = rnn_output.squeeze(0)
34 | context = context.squeeze(1)
35 | concat_input = torch.cat((rnn_output, context), 1)
36 | concat_output = torch.tanh(self.concat(concat_input))
37 | # Predict next word using Luong eq. 6
38 | output = self.out(concat_output)
39 | output = F.softmax(output, dim=1)
40 | # Return output and final hidden state
41 | return output, hidden
--------------------------------------------------------------------------------
/BLOX/Examples/ChatBot/EncoderRNN.py:
--------------------------------------------------------------------------------
1 | class EncoderRNN(nn.Module):
2 | def __init__(self, hidden_size, embedding, n_layers=1, dropout=0):
3 | super(EncoderRNN, self).__init__()
4 | self.n_layers = n_layers
5 | self.hidden_size = hidden_size
6 | self.embedding = embedding
7 |
8 | # Initialize GRU; the input_size and hidden_size params are both set to 'hidden_size'
9 | # because our input size is a word embedding with number of features == hidden_size
10 | self.gru = nn.GRU(hidden_size, hidden_size, n_layers,
11 | dropout=(0 if n_layers == 1 else dropout), bidirectional=True)
12 |
13 | def forward(self, input_seq, input_lengths, hidden=None):
14 | # Convert word indexes to embeddings
15 | embedded = self.embedding(input_seq)
16 | # Pack padded batch of sequences for RNN module
17 | packed = nn.utils.rnn.pack_padded_sequence(embedded, input_lengths)
18 | # Forward pass through GRU
19 | outputs, hidden = self.gru(packed, hidden)
20 | # Unpack padding
21 | outputs, _ = nn.utils.rnn.pad_packed_sequence(outputs)
22 | # Sum bidirectional GRU outputs
23 | outputs = outputs[:, :, :self.hidden_size] + outputs[:, : ,self.hidden_size:]
24 | # Return output and final hidden state
25 | return outputs, hidden
--------------------------------------------------------------------------------
/BLOX/Examples/ChatBot/Int2Text.py:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | from .GreedyDecoder import GreedyDecoder
5 | def indexesFromSentence(voc, sentence):
6 | return [voc.word2index[word] for word in sentence.split(' ')] + [EOS_token]
7 | class Evaluator(nn.Module):
8 |
9 | def __init__(self,efname,dfname,vfname)
10 | self.searcher = GreedyDecoder(efname,dfanme)
11 | self.voc = Voc(vfname)
12 |
13 | def forward(self,x,max_length=10):
14 | ### Format input sentence as a batch
15 | # words -> indexes
16 | indexes_batch = [indexesFromSentence(voc, x)]
17 | # Create lengths tensor
18 | lengths = torch.tensor([len(indexes) for indexes in indexes_batch])
19 | # Transpose dimensions of batch to match models' expectations
20 | input_batch = torch.LongTensor(indexes_batch).transpose(0, 1)
21 | # Use appropriate device
22 | input_batch = input_batch.to(device)
23 | lengths = lengths.to(device)
24 | # Decode sentence with searcher
25 | tokens, scores = searcher(input_batch, lengths, max_length)
26 | # indexes -> words
27 | decoded_words = [voc.index2word[token.item()] for token in tokens]
28 | return decoded_words
--------------------------------------------------------------------------------
/BLOX/Examples/ChatBot/NormailizeString.py:
--------------------------------------------------------------------------------
1 |
2 | import re
3 | import random
4 | import re
5 | import os
6 | import unicodedata
7 | import codecs
8 | class unicodeToAscii:
9 | def __call__(self,s):
10 | return ''.join(
11 | c for c in unicodedata.normalize('NFD', s)
12 | if unicodedata.category(c) != 'Mn'
13 | )
14 |
15 | class Normalize:
16 |
17 | def __init__(self):pass
18 |
19 | def __call__(self,s):
20 | s = unicodeToAscii(s.lower().strip())
21 | s = re.sub(r"([.!?])", r" \1", s)
22 | s = re.sub(r"[^a-zA-Z.!?]+", r" ", s)
23 | s = re.sub(r"\s+", r" ", s).strip()
24 | return s
--------------------------------------------------------------------------------
/BLOX/Examples/ChatBot/Seq2Seq.py:
--------------------------------------------------------------------------------
1 |
2 |
3 | import torch
4 | from torch import nn
5 |
6 | class Seq2Seq(nn.Module):
7 |
8 |
--------------------------------------------------------------------------------
/BLOX/Examples/ChatBot/chatbot.cfg.json:
--------------------------------------------------------------------------------
1 | {
2 | "Pipeline":{
3 | "threads":1,
4 | "addr":"localhost",
5 | "queue":"default",
6 | "Pipes":[
7 | {
8 | "Nets":{
9 | "chatbot":"net.json"
10 | }
11 | }
12 | ]
13 | },
14 | "Deploy":[
15 | {
16 | "url":"/predict",
17 | "name":"predict",
18 | "client":{},
19 | "arg":"data"
20 | }
21 | ],
22 | "Process":[
23 | "Pipeline"
24 | ]
25 |
26 | }
--------------------------------------------------------------------------------
/BLOX/Examples/ChatBot/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "Pipeline":{
3 | "threads":1,
4 | "addr":"localhost",
5 | "queue":"default",
6 | "Pipes":[
7 | {
8 | "Nets": "net.json"
9 | }
10 | ]
11 | },
12 | "Deploy":[
13 | {
14 | "url":"/predict",
15 | "name":"predict",
16 | "client":{},
17 | "arg":"data"
18 | }
19 | ]
20 |
21 | }
--------------------------------------------------------------------------------
/BLOX/Examples/ChatBot/cornell movie-dialogs corpus/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/ChatBot/cornell movie-dialogs corpus/.DS_Store
--------------------------------------------------------------------------------
/BLOX/Examples/ChatBot/cornell movie-dialogs corpus/README.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/ChatBot/cornell movie-dialogs corpus/README.txt
--------------------------------------------------------------------------------
/BLOX/Examples/ChatBot/cornell movie-dialogs corpus/chameleons.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/ChatBot/cornell movie-dialogs corpus/chameleons.pdf
--------------------------------------------------------------------------------
/BLOX/Examples/ChatBot/cornell movie-dialogs corpus/movie_characters_metadata.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/ChatBot/cornell movie-dialogs corpus/movie_characters_metadata.txt
--------------------------------------------------------------------------------
/BLOX/Examples/ChatBot/cornell movie-dialogs corpus/movie_lines.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/ChatBot/cornell movie-dialogs corpus/movie_lines.txt
--------------------------------------------------------------------------------
/BLOX/Examples/ChatBot/cornell movie-dialogs corpus/movie_titles_metadata.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/ChatBot/cornell movie-dialogs corpus/movie_titles_metadata.txt
--------------------------------------------------------------------------------
/BLOX/Examples/ChatBot/cornell movie-dialogs corpus/raw_script_urls.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/ChatBot/cornell movie-dialogs corpus/raw_script_urls.txt
--------------------------------------------------------------------------------
/BLOX/Examples/ChatBot/net.json:
--------------------------------------------------------------------------------
1 | {
2 | "BLOX":[
3 | {"DEF":"Evaluator"}
4 | ],
5 | "Notes":"",
6 | "Name":"chatbot",
7 | "IMPORTS":[
8 | "Evaluator"
9 | ],
10 | "DEFS":{
11 | "BLOX":{
12 | }
13 | }
14 | }
--------------------------------------------------------------------------------
/BLOX/Examples/DayTrader/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "Nets":{
3 | "DayTrader":"net.json"
4 | },
5 | "Train":{
6 | "Optimizer":{
7 | "Params":[
8 | "DayTrader"
9 | ],
10 | "Kwargs":{
11 | "lr":0.00001
12 | },
13 | "Algo":"Adam"
14 | },
15 | "Loss":{
16 | "Algo":"CrossEntropyLoss",
17 | "Kwargs":{}
18 | },
19 | "Epochs":25,
20 | "SaveEvery":500,
21 | "DataSet":"trader.ds",
22 | "FileExt":".pt",
23 | "Verbose":true,
24 | "TensorboardX":{
25 | "LogEvery":125,
26 | "Dir":"runs/",
27 | "SaveGraphs":false,
28 | "Log":[
29 | "Loss"
30 | ]
31 | }
32 | },
33 | "Load":{
34 | "DayTrader":"DayTrader-.pt"
35 | },
36 | "Pipeline":{
37 | "threads":1,
38 | "addr":"localhost",
39 | "queue":"default",
40 | "Pipes":[
41 | {
42 | "Nets":{
43 | "DayTrader":"net.json"
44 | }
45 | }
46 | ]
47 | },
48 | "Deploy":[
49 | {
50 | "url":"/predict",
51 | "name":"predict",
52 | "client":{},
53 | "arg":"data"
54 | }
55 | ],
56 | "Process":[
57 | "Train",
58 | "Pipeline"
59 | ]
60 |
61 | }
--------------------------------------------------------------------------------
/BLOX/Examples/DayTrader/msft.ds-copy:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/DayTrader/msft.ds-copy
--------------------------------------------------------------------------------
/BLOX/Examples/DayTrader/net.json:
--------------------------------------------------------------------------------
1 | {
2 | "BLOX":[
3 | {
4 | "DEF":"TraderBlock"
5 | },
6 | {
7 | "DEF":"Recurrence"
8 | },
9 | {
10 | "DEF":"PredictBlock"
11 | },
12 | {
13 | "DEF":"Sparsemax"
14 | }
15 | ],
16 | "Notes":"",
17 | "Name":"DayTrader",
18 | "DEFS":{
19 | "BLOX":{
20 | "TraderBlock":[
21 | {
22 | "Other":[
23 | {
24 | "LSTM": {
25 | "input_size":5,
26 | "hidden_size":256,
27 | "num_layers":2,
28 | "bidirectional":false,
29 | "dropout":0.9
30 | }
31 | }
32 | ]
33 | }
34 | ],
35 | "PredictBlock":[
36 | {
37 | "Linear":{
38 | "in_features":256,
39 | "out_features":64
40 | }
41 | },
42 | {
43 | "Act":"Tanh"
44 | },
45 | {
46 | "Linear":{
47 | "in_features":64,
48 | "out_features":3
49 | }
50 | }
51 | ]
52 | }
53 | }
54 | }
--------------------------------------------------------------------------------
/BLOX/Examples/DayTrader/q.cfg.json:
--------------------------------------------------------------------------------
1 | {
2 | "Nets":{
3 | "DayTrader":"q.net.json"
4 | },
5 | "Load":{
6 | "DayTrader":"DayTrader.pt"
7 | },
8 | "Train":{
9 | "Optimizer":{
10 | "Params":[
11 | "DayTrader"
12 | ],
13 | "Kwargs":{
14 | "lr":0.00001,"weight_decay":0.995
15 | },
16 | "Algo":"DQNAdam"
17 | },
18 | "Loss":{
19 | "Algo":"SmoothL1Loss",
20 | "Kwargs":{}
21 | },
22 |
23 | "Epochs":15,
24 | "SaveEvery":5000,
25 | "Environment":{
26 | "Class":"TradingEnvironment",
27 | "Kwargs":{
28 | "fname":"trader.ds"
29 | }
30 | },
31 | "FileExt":".pt",
32 | "Verbose":false,
33 | "TensorboardX":{
34 | "LogEvery":25,
35 | "Dir":"runs/",
36 | "SaveGraphs":false,
37 | "Log":[
38 | "gainz","value","n_shares","wallet","loss"
39 | ]
40 | }
41 | },
42 | "Pipeline":{
43 | "threads":1,
44 | "addr":"localhost",
45 | "queue":"default",
46 | "Pipes":[
47 | {
48 | "Nets":{
49 | "DayTrader":"net.json"
50 | }
51 | }
52 | ]
53 | },
54 | "Deploy":[
55 | {
56 | "url":"/predict",
57 | "name":"predict",
58 | "client":{},
59 | "arg":"data"
60 | }
61 | ],
62 | "Process":[
63 | "Train",
64 | "Pipeline"
65 | ]
66 |
67 | }
--------------------------------------------------------------------------------
/BLOX/Examples/DayTrader/q.net.json:
--------------------------------------------------------------------------------
1 | {
2 | "BLOX":[
3 | {
4 | "DEF":"TraderBlock"
5 | },
6 | {
7 | "REPEAT":{
8 | "BLOCK":"Interior",
9 | "REPS":512
10 | }
11 | },
12 | {
13 | "DEF":"PredictBlock"
14 | },
15 | {
16 | "DEF":"Sparsemax"
17 | }
18 | ],
19 | "Notes":"",
20 | "Name":"DayTrader",
21 | "DEFS":{
22 | "BLOX":{
23 | "TraderBlock":[
24 | {
25 | "Linear":{
26 | "in_features":5,
27 | "out_features":128
28 | }
29 | },
30 | {
31 | "Act":"Tanh"
32 | }
33 | ],
34 | "Interior":[
35 | {
36 | "Act":"Dropout"
37 | },
38 | {
39 | "Linear":{
40 | "in_features":128,
41 | "out_features":128
42 | }
43 | },
44 | {
45 | "Act":"Tanh"
46 | }
47 | ],
48 | "PredictBlock":[
49 | {
50 | "Linear":{
51 | "in_features":128,
52 | "out_features":121
53 | }
54 | }
55 | ]
56 | }
57 | }
58 | }
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "Nets":{
3 | "NotHotdog":"net.json"
4 | },
5 | "Train":{
6 | "Optimizer":{
7 | "Params":[
8 | "NotHotdog"
9 | ],
10 | "Kwargs":{
11 | "lr":0.001
12 | },
13 | "Algo":"SGD"
14 | },
15 | "Loss":{
16 | "Algo":"L1Loss",
17 | "Kwargs":{}
18 | },
19 | "Epochs":50,
20 | "SaveEvery":50,
21 | "DataSet":"imgs.ds",
22 | "FileExt":".pt",
23 | "Verbose":true,
24 | "TensorboardX":{
25 | "LogEvery":10,
26 | "Dir":"runs/",
27 | "SaveGraphs":false,
28 | "Log":[
29 | "Loss"
30 | ]
31 | }
32 | },
33 | "Load":{
34 | "NotHotdog":"NotHotdog-.pt"
35 | },
36 | "Pipeline":{
37 | "threads":1,
38 | "addr":"localhost",
39 | "queue":"default",
40 | "Pipes":[
41 | {
42 | "Nets":{
43 | "NotHotdog":"net.json"
44 | }
45 | }
46 | ]
47 | },
48 | "Data":{
49 | "Convert":{
50 | "Img":{
51 | "LoadDir":"downloads",
52 | "SaveTo":"imgs.ds"
53 | }
54 | }
55 | },
56 | "Deploy":[
57 | {
58 | "url":"/predict",
59 | "name":"predict",
60 | "client":{},
61 | "arg":"data"
62 | }
63 | ],
64 | "Process":[
65 | "Data",
66 | "Train",
67 | "Pipeline"
68 | ]
69 |
70 | }
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/server.py:
--------------------------------------------------------------------------------
1 | from flask import Flask, render_template, request,Response
2 | import requests
3 | from werkzeug import secure_filename
4 | app = Flask(__name__,template_folder='templates/')
5 | DIST = ["Hotdog", "Not hotdog"]
6 | from torchvision import transforms
7 | import io,base64
8 | from PIL import Image
9 | import torch,json
10 |
11 | transform = transforms.Compose([
12 | transforms.ToTensor(),
13 | transforms.Normalize((0.485, 0.456, 0.406),
14 | (0.229, 0.224, 0.225))])
15 | def img2tensor(image, transform_img=True):
16 | if isinstance(image,torch.Tensor):return image
17 | image = Image.open(image if isinstance(image,str) else io.BytesIO(image) )
18 | image = image.resize([224, 224], Image.LANCZOS)
19 |
20 | if transform_img:
21 | image = transform(image).unsqueeze(0)
22 | image = image[:,:3,:,:]
23 | return image
24 | @app.route('/', methods = ['GET', 'POST'])
25 | def upload_file():
26 | r = ''
27 | f = None
28 | if request.method == 'POST':
29 | try:
30 | f = request.files['file']
31 | i = img2tensor(f.read() ).data.numpy().tolist()
32 | _r = requests.post('http://127.0.0.1:8000/predict',{'data': i })
33 | _r = json.loads(_r.content.decode())
34 | a = json.loads(_r['resp'])
35 | r = DIST[0] if a[0] > a[1] else DIST[1]
36 | except Exception as e:
37 | r = "Trouble processing image"
38 | return Response(render_template('index.html', t=r,image=base64.b64encode(f.read() ) if f else ''))
39 |
40 | if __name__ == '__main__':
41 | app.run(debug=True)
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/HELP-US-OUT.txt:
--------------------------------------------------------------------------------
1 | I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project,
2 | Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome,
3 | comprehensive icon sets or copy and paste your own.
4 |
5 | Please. Check it out.
6 |
7 | -Dave Gandy
8 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/less/animated.less:
--------------------------------------------------------------------------------
1 | // Animated Icons
2 | // --------------------------
3 |
4 | .@{fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | .@{fa-css-prefix}-pulse {
10 | -webkit-animation: fa-spin 1s infinite steps(8);
11 | animation: fa-spin 1s infinite steps(8);
12 | }
13 |
14 | @-webkit-keyframes fa-spin {
15 | 0% {
16 | -webkit-transform: rotate(0deg);
17 | transform: rotate(0deg);
18 | }
19 | 100% {
20 | -webkit-transform: rotate(359deg);
21 | transform: rotate(359deg);
22 | }
23 | }
24 |
25 | @keyframes fa-spin {
26 | 0% {
27 | -webkit-transform: rotate(0deg);
28 | transform: rotate(0deg);
29 | }
30 | 100% {
31 | -webkit-transform: rotate(359deg);
32 | transform: rotate(359deg);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/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 | .@{fa-css-prefix}-pull-left { float: left; }
11 | .@{fa-css-prefix}-pull-right { float: right; }
12 |
13 | .@{fa-css-prefix} {
14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; }
15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; }
16 | }
17 |
18 | /* Deprecated as of 4.4.0 */
19 | .pull-right { float: right; }
20 | .pull-left { float: left; }
21 |
22 | .@{fa-css-prefix} {
23 | &.pull-left { margin-right: .3em; }
24 | &.pull-right { margin-left: .3em; }
25 | }
26 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/less/core.less:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .@{fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/less/fixed-width.less:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .@{fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/less/font-awesome.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.7.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 "animated.less";
15 | @import "rotated-flipped.less";
16 | @import "stacked.less";
17 | @import "icons.less";
18 | @import "screen-reader.less";
19 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/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 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/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 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/less/mixins.less:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | .fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
14 | .fa-icon-rotate(@degrees, @rotation) {
15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})";
16 | -webkit-transform: rotate(@degrees);
17 | -ms-transform: rotate(@degrees);
18 | transform: rotate(@degrees);
19 | }
20 |
21 | .fa-icon-flip(@horiz, @vert, @rotation) {
22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)";
23 | -webkit-transform: scale(@horiz, @vert);
24 | -ms-transform: scale(@horiz, @vert);
25 | transform: scale(@horiz, @vert);
26 | }
27 |
28 |
29 | // Only display content to screen readers. A la Bootstrap 4.
30 | //
31 | // See: http://a11yproject.com/posts/how-to-hide-content/
32 |
33 | .sr-only() {
34 | position: absolute;
35 | width: 1px;
36 | height: 1px;
37 | padding: 0;
38 | margin: -1px;
39 | overflow: hidden;
40 | clip: rect(0,0,0,0);
41 | border: 0;
42 | }
43 |
44 | // Use in conjunction with .sr-only to only display content when it's focused.
45 | //
46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
47 | //
48 | // Credit: HTML5 Boilerplate
49 |
50 | .sr-only-focusable() {
51 | &:active,
52 | &:focus {
53 | position: static;
54 | width: auto;
55 | height: auto;
56 | margin: 0;
57 | overflow: visible;
58 | clip: auto;
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/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.woff2?v=@{fa-version}') format('woff2'),
9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'),
10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'),
11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg');
12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/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 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .@{fa-css-prefix}-rotate-90,
15 | :root .@{fa-css-prefix}-rotate-180,
16 | :root .@{fa-css-prefix}-rotate-270,
17 | :root .@{fa-css-prefix}-flip-horizontal,
18 | :root .@{fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/less/screen-reader.less:
--------------------------------------------------------------------------------
1 | // Screen Readers
2 | // -------------------------
3 |
4 | .sr-only { .sr-only(); }
5 | .sr-only-focusable { .sr-only-focusable(); }
6 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/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 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/scss/_animated.scss:
--------------------------------------------------------------------------------
1 | // Spinning Icons
2 | // --------------------------
3 |
4 | .#{$fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | .#{$fa-css-prefix}-pulse {
10 | -webkit-animation: fa-spin 1s infinite steps(8);
11 | animation: fa-spin 1s infinite steps(8);
12 | }
13 |
14 | @-webkit-keyframes fa-spin {
15 | 0% {
16 | -webkit-transform: rotate(0deg);
17 | transform: rotate(0deg);
18 | }
19 | 100% {
20 | -webkit-transform: rotate(359deg);
21 | transform: rotate(359deg);
22 | }
23 | }
24 |
25 | @keyframes fa-spin {
26 | 0% {
27 | -webkit-transform: rotate(0deg);
28 | transform: rotate(0deg);
29 | }
30 | 100% {
31 | -webkit-transform: rotate(359deg);
32 | transform: rotate(359deg);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/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 | .#{$fa-css-prefix}-pull-left { float: left; }
11 | .#{$fa-css-prefix}-pull-right { float: right; }
12 |
13 | .#{$fa-css-prefix} {
14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
16 | }
17 |
18 | /* Deprecated as of 4.4.0 */
19 | .pull-right { float: right; }
20 | .pull-left { float: left; }
21 |
22 | .#{$fa-css-prefix} {
23 | &.pull-left { margin-right: .3em; }
24 | &.pull-right { margin-left: .3em; }
25 | }
26 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/scss/_core.scss:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/scss/_fixed-width.scss:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .#{$fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/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 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/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 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/scss/_mixins.scss:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | @mixin fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
14 | @mixin fa-icon-rotate($degrees, $rotation) {
15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})";
16 | -webkit-transform: rotate($degrees);
17 | -ms-transform: rotate($degrees);
18 | transform: rotate($degrees);
19 | }
20 |
21 | @mixin fa-icon-flip($horiz, $vert, $rotation) {
22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)";
23 | -webkit-transform: scale($horiz, $vert);
24 | -ms-transform: scale($horiz, $vert);
25 | transform: scale($horiz, $vert);
26 | }
27 |
28 |
29 | // Only display content to screen readers. A la Bootstrap 4.
30 | //
31 | // See: http://a11yproject.com/posts/how-to-hide-content/
32 |
33 | @mixin sr-only {
34 | position: absolute;
35 | width: 1px;
36 | height: 1px;
37 | padding: 0;
38 | margin: -1px;
39 | overflow: hidden;
40 | clip: rect(0,0,0,0);
41 | border: 0;
42 | }
43 |
44 | // Use in conjunction with .sr-only to only display content when it's focused.
45 | //
46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
47 | //
48 | // Credit: HTML5 Boilerplate
49 |
50 | @mixin sr-only-focusable {
51 | &:active,
52 | &:focus {
53 | position: static;
54 | width: auto;
55 | height: auto;
56 | margin: 0;
57 | overflow: visible;
58 | clip: auto;
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/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.woff2?v=#{$fa-version}') format('woff2'),
9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),
10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),
11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');
12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/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 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .#{$fa-css-prefix}-rotate-90,
15 | :root .#{$fa-css-prefix}-rotate-180,
16 | :root .#{$fa-css-prefix}-rotate-270,
17 | :root .#{$fa-css-prefix}-flip-horizontal,
18 | :root .#{$fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/scss/_screen-reader.scss:
--------------------------------------------------------------------------------
1 | // Screen Readers
2 | // -------------------------
3 |
4 | .sr-only { @include sr-only(); }
5 | .sr-only-focusable { @include sr-only-focusable(); }
6 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/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 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/font-awesome-4.7.0/scss/font-awesome.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.7.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 "animated";
15 | @import "rotated-flipped";
16 | @import "stacked";
17 | @import "icons";
18 | @import "screen-reader";
19 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Black.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Black.ttf
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-BlackItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-BlackItalic.ttf
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Bold.ttf
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-BoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-BoldItalic.ttf
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-ExtraBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-ExtraBold.ttf
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-ExtraBoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-ExtraBoldItalic.ttf
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-ExtraLight.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-ExtraLight.ttf
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-ExtraLightItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-ExtraLightItalic.ttf
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Italic.ttf
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Light.ttf
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-LightItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-LightItalic.ttf
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Medium.ttf
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-MediumItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-MediumItalic.ttf
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Regular.ttf
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-SemiBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-SemiBold.ttf
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-SemiBoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-SemiBoldItalic.ttf
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Thin.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-Thin.ttf
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-ThinItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/fonts/poppins/Poppins-ThinItalic.ttf
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/apple-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/apple-icon.png
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/cover.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/cover.jpg
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/faces/avatar.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/faces/avatar.jpg
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/faces/card-profile1-square.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/faces/card-profile1-square.jpg
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/faces/card-profile2-square.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/faces/card-profile2-square.jpg
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/faces/marc.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/faces/marc.jpg
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/favicon.png
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/icons/circled-left-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/circled-left-2.png
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/icons/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/favicon.ico
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/icons/fb-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/fb-icon.png
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/icons/gram-Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/gram-Icon.png
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/icons/person-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/person-icon.png
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/icons/pinterest-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/pinterest-logo.png
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/icons/reddit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/reddit.png
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/icons/speech-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/speech-icon.png
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/icons/star-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/star-icon.png
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/icons/tumblr-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/tumblr-icon.png
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/icons/twt-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/twt-icon.png
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/icons/youtube-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/icons/youtube-icon.png
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/mask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/mask.png
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/new_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/new_logo.png
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/sidebar-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/sidebar-1.jpg
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/sidebar-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/sidebar-2.jpg
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/sidebar-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/sidebar-3.jpg
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/images/sidebar-4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Examples/NotHotdog/static/images/sidebar-4.jpg
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/js/viz.js:
--------------------------------------------------------------------------------
1 | let _emotions = ["happiness", "anger", "fun", "neutral", "hate", "worry", "love", "relief", "sadness", "boredom", "surprise", "enthusiasm", "empty"];
2 | let _genders = ['female','male','unknown'];
3 | let _ages = ['18-24','25-34','35-49','50-64','65-xx'];
4 | let _sentiment = ['pos','neg'];
5 | let _topics = ["Relationships", "Food and Cooking", "Health", "Shopping", "Science", "Law and Legal Issues", "Cars and Vehicles", "Humor and Amusement", "History, Politics and Society", "Entertainment and Arts", "Hobbies and Collectibles", "Business and Finance", "Sports", "Travel and Places", "Technology", "Miscellaneous", "Jobs and Education", "Home and Garden", "Religion and Spirituality", "Literature and Language", "Animal Life"];
6 | let table = {emotion:_emotions,gender:_genders,age:_ages,sentiment:_sentiments,topic:_topics}
7 | function pie(data) {
8 | let obj = {emotions:[],genders:[],ages:[],sentiments:[],topics:[]};
9 | let pies = {emotion:{},gender:{},age:{},sentiment:{},topic:{}};
10 | for (pie in pies){
11 | for (key in table[pie]){
12 | pies[pie][key] = 0;
13 | }
14 | }
15 | for (d in data){
16 | for (key in d){
17 | pies[key][key]++;
18 | }
19 | }
20 | return pies;
21 | }
22 |
23 | function pie2data(obj){
24 | let array = [];
25 | for (key in obj) {
26 | array.push({
27 | value:obj[key],
28 | name:key
29 | });
30 | }
31 | return array;
32 | }
33 |
34 | function chartPie(obj,elms){
35 | for (elm in elms){
36 | var chart = echarts.init(document.getElementById(elm));
37 |
38 | var option = {
39 | tooltip: {},
40 | title:{text:elm},
41 | series: [{
42 | type: 'pie',
43 | roseType:'angle',
44 | data: pie2data(obj[elm]),
45 | }]
46 | };
47 |
48 | // use configuration item and data specified to show chart
49 | chart.setOption(option);
50 | }
51 | }
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/_dark-edition.scss:
--------------------------------------------------------------------------------
1 | .dark-edition {
2 | // Variables
3 | @import 'dark-edition/dark-variables';
4 |
5 | background-color: $dark-background;
6 |
7 | // Mixins
8 | @import 'dark-edition/dark-mixins';
9 |
10 | // Buttons
11 | @import 'dark-edition/dark-buttons';
12 |
13 | // Sidebar
14 | @import 'dark-edition/dark-sidebar';
15 |
16 | // Navbar
17 | @import 'dark-edition/dark-navbar';
18 |
19 | // Footer
20 | @import 'dark-edition/dark-footer';
21 |
22 | // Card
23 | @import 'dark-edition/dark-card';
24 |
25 | // Tables
26 | @import 'dark-edition/dark-tables';
27 |
28 | // Checkboxes
29 | @import 'dark-edition/dark-checkboxes';
30 |
31 | // Radios
32 | @import 'dark-edition/dark-radios';
33 |
34 | // Tabs
35 | @import 'dark-edition/dark-tabs';
36 |
37 | // Tabs
38 | @import 'dark-edition/dark-popover-tooltip';
39 |
40 | // Forms
41 | @import 'dark-edition/dark-forms';
42 |
43 | // Fixed Plugin
44 | @import 'dark-edition/dark-fixed-plugin';
45 |
46 | // Dropdown
47 | @import 'dark-edition/dark-dropdown';
48 |
49 | // Colors
50 | @import 'dark-edition/dark-colors';
51 |
52 | // Alerts
53 | @import 'dark-edition/dark-alert';
54 |
55 | // Animation Keyframe
56 | @import 'dark-edition/dark-heartbeat-animation';
57 | }
58 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/_example-pages.scss:
--------------------------------------------------------------------------------
1 | .card-signup {
2 | .card-header {
3 | .social-line {
4 | .btn {
5 | color: $white-color;
6 | }
7 | }
8 | }
9 | .text-divider {
10 | margin-top: 30px;
11 | margin-bottom: 0px;
12 | text-align: center;
13 | }
14 | }
15 |
16 | .signup-page {
17 | .page-header {
18 | min-height: 100vh;
19 | height: auto;
20 | display: inherit;
21 |
22 | .container{
23 | padding-top: 20vh;
24 | }
25 | }
26 |
27 | .card-signup {
28 | border-radius: $border-radius-base * 2;
29 | @include shadow-16dp();
30 | margin-bottom: 100px;
31 | padding: 40px 0px;
32 |
33 | }
34 | .info-horizontal {
35 | padding: 0px 0px 20px;
36 | }
37 |
38 | .social {
39 | .btn {
40 | margin: 5px;
41 | }
42 | h4 {
43 | margin-top: 20px;
44 | }
45 | }
46 | .footer {
47 | .container {
48 | padding: 0;
49 | }
50 | .copyright,
51 | a{
52 | color: $white-color;
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/_headers.scss:
--------------------------------------------------------------------------------
1 | .page-header{
2 | min-height: 100vh;
3 | max-height: 1000px;
4 | display: flex !important;
5 | height: 100%;
6 | padding: 0;
7 | color: $white-color;
8 | position: relative;
9 |
10 | .page-header-image{
11 | position: absolute;
12 | background-size: cover;
13 | background-position: center center;
14 | width: 100%;
15 | height: 100%;
16 | z-index: -1;
17 | }
18 |
19 | .content-center{
20 | position: absolute;
21 | top: 50%;
22 | left: 50%;
23 | z-index: 2;
24 | -ms-transform: translate(-50%, -50%);
25 | -webkit-transform: translate(-50%, -50%);
26 | transform: translate(-50%, -50%);
27 | text-align: center;
28 | color: #FFFFFF;
29 | padding: 0 15px;
30 | width: 100%;
31 | max-width: 880px;
32 |
33 | }
34 |
35 | footer{
36 | position: absolute;
37 | bottom: 0;
38 | width: 100%;
39 | }
40 |
41 | .container{
42 | height: 100%;
43 | z-index: 1;
44 | }
45 |
46 | .category,
47 | .description{
48 | color: $opacity-8;
49 | }
50 |
51 | &.page-header-small{
52 | min-height: 60vh;
53 | max-height: 440px;
54 | }
55 |
56 | &.page-header-mini{
57 | min-height: 40vh;
58 | max-height: 340px;
59 | }
60 |
61 | .title{
62 | margin-bottom: 15px;
63 | }
64 | .title + h4{
65 | margin-top: 10px;
66 | }
67 |
68 | &:after,
69 | &:before{
70 | position: absolute;
71 | z-index: 0;
72 | width: 100%;
73 | height: 100%;
74 | display: block;
75 | left: 0;
76 | top: 0;
77 | content: "";
78 | }
79 |
80 | &:before{
81 | background-color: rgba(0,0,0,.3);
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/_images.scss:
--------------------------------------------------------------------------------
1 | .img-thumbnail{
2 | border-radius: 16px;
3 | }
4 | .img-raised{
5 | @include shadow-big-image();
6 | }
7 |
8 | .rounded{
9 | border-radius: $border-radius-large !important;
10 | }
11 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/_info-areas.scss:
--------------------------------------------------------------------------------
1 | .info{
2 | max-width: 360px;
3 | margin: 0 auto;
4 | padding: 70px 0 30px;
5 |
6 | .icon{
7 | color: $gray-color;
8 |
9 | > i{
10 | font-size: 3.85rem;
11 | }
12 | }
13 | .info-title{
14 | color: $black-color;
15 | margin: 0.875rem * 2 0 0.875rem;
16 | }
17 | p{
18 | color: $gray-color;
19 | }
20 | }
21 |
22 | .info-horizontal{
23 | .icon{
24 | float: left;
25 | margin-top: 24px;
26 | margin-right: 10px;
27 |
28 | >i{
29 | font-size: $font-size-h2;
30 | }
31 | }
32 | .description{
33 | overflow: hidden;
34 | }
35 |
36 | }
37 |
38 | .icon {
39 | &.icon-primary {
40 | color: $brand-primary;
41 | }
42 | &.icon-info {
43 | color: $brand-info;
44 | }
45 | &.icon-success {
46 | color: $brand-success;
47 | }
48 | &.icon-warning {
49 | color: $brand-warning;
50 | }
51 | &.icon-danger {
52 | color: $brand-danger;
53 | }
54 | &.icon-rose {
55 | color: $brand-rose;
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/_input-group.scss:
--------------------------------------------------------------------------------
1 | // -----------------------------------------
2 | // input-group and input-group-addon styles
3 | // note: form-groups are not required
4 | //
5 | @mixin input-group-button-variation($vertical-padding) {
6 | .input-group-btn {
7 | .btn {
8 | //margin: 0 0 $vertical-padding 0;
9 | }
10 | }
11 | }
12 |
13 | // default margin - no form-group required
14 | @include input-group-button-variation(input-padding-y);
15 |
16 | .bmd-form-group-sm {
17 | @include input-group-button-variation($input-padding-y-sm);
18 | }
19 |
20 | .bmd-form-group-lg {
21 | @include input-group-button-variation($input-padding-y-lg);
22 | }
23 |
24 | .input-group {
25 | // may be in or outside of form-group
26 |
27 | .input-group-text {
28 | display: flex;
29 | justify-content: center;
30 | align-items: center;
31 | padding: 0 15px 0 15px;
32 | background-color: transparent;
33 | border-color: transparent;
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/_misc.scss:
--------------------------------------------------------------------------------
1 | body{
2 | background-color: #eee;
3 | color: $black-color;
4 | font-weight: 300;
5 | }
6 |
7 | legend {
8 | border-bottom: 0;
9 | }
10 |
11 | .serif-font{
12 | font-family: $font-family-serif;
13 | }
14 |
15 | // Prevent highlight on mobile
16 | * {
17 | -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
18 | -webkit-tap-highlight-color: transparent;
19 | &:focus {
20 | outline: 0;
21 | }
22 | }
23 |
24 | a{
25 | color: $link-color;
26 | &:hover,
27 | &:focus{
28 | color: darken($link-color, 5%);
29 | text-decoration: none;
30 | }
31 |
32 | &.text-info{
33 | &:hover, &:focus{
34 | color: darken($brand-info, 5%);
35 | }
36 | }
37 |
38 | & .material-icons {
39 | vertical-align: middle;
40 | }
41 | }
42 |
43 | .form-check,
44 | label{
45 | font-size: 14px;
46 | line-height: 1.42857;
47 | color: $checkboxes-text-color;
48 | font-weight: 400;
49 | }
50 |
51 | /* Animations */
52 | .animation-transition-general{
53 | @include transition-all($general-transition-time, $transition-linear);
54 | }
55 |
56 | .animation-transition-slow{
57 | @include transition-all($slow-transition-time, $transition-linear);
58 | }
59 |
60 | .animation-transition-fast{
61 | @include transition-all($fast-transition-time, $transition-ease);
62 | }
63 |
64 | .caret,
65 | .sidebar a,
66 | .animation-transition-fast-in{
67 | @include transition-all($fast-transition-time, $transition-ease-in);
68 | }
69 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/_mixins.scss:
--------------------------------------------------------------------------------
1 | @import "mixins/utilities";
2 | @import "mixins/breakpoints";
3 | @import "mixins/animations";
4 | @import "mixins/type";
5 | @import "mixins/layout";
6 | @import "mixins/drawer";
7 | @import "mixins/forms";
8 | @import "mixins/buttons";
9 | @import "mixins/hover";
10 | @import "mixins/navs";
11 | @import "mixins/colored-shadows";
12 | @import "mixins/navbar-colors";
13 | @import "mixins/alert";
14 | @import "mixins/sidebar-color";
15 | @import "mixins/variables";
16 | @import "mixins/vendor-prefixes";
17 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/_popover.scss:
--------------------------------------------------------------------------------
1 | .popover, .tooltip-inner {
2 | line-height: 1.5em;
3 | background: $white-color;
4 | border: none;
5 | border-radius: $border-radius-base;
6 | @include shadow-8dp();
7 | color: $popover-color;
8 | }
9 |
10 |
11 | .popover{
12 | padding: 0;
13 | @include shadow-16dp();
14 |
15 | &.left,
16 | &.right,
17 | &.top,
18 | &.bottom{
19 | > .arrow{
20 | border: none;
21 | }
22 | }
23 |
24 |
25 | &.bs-popover-top,
26 | &.bs-popover-auto[x-placement^="top"],
27 | &.bs-popover-bottom,
28 | &.bs-popover-auto[x-placement^="bottom"],
29 | &.bs-popover-right,
30 | &.bs-popover-auto[x-placement^="right"],
31 | &.bs-popover-left,
32 | &.bs-popover-auto[x-placement^="left"]{
33 | & .arrow::before{
34 | border: 0;
35 | }
36 | }
37 |
38 | }
39 |
40 | .popover-header{
41 | background-color: $white-color;
42 | border: none;
43 | padding: 15px 15px 5px;
44 | font-size: $font-size-h4;
45 | margin: 0;
46 | color: $popover-color;
47 | }
48 |
49 | .popover-body{
50 | padding: 10px 15px 15px;
51 | line-height: 1.4;
52 | color: $popover-color;
53 | }
54 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/_ripples.scss:
--------------------------------------------------------------------------------
1 | // marker class (used as a selector for one-off elements to decorate)
2 | .ripple {
3 | position: relative;
4 | }
5 |
6 | .ripple-container {
7 | position: absolute;
8 | top: 0;
9 | left: 0;
10 | z-index: 1;
11 | width: 100%;
12 | height: 100%;
13 | overflow: hidden;
14 | pointer-events: none;
15 | border-radius: inherit;
16 |
17 | .ripple-decorator {
18 | position: absolute;
19 | width: 20px;
20 | height: 20px;
21 | margin-top: -10px;
22 | margin-left: -10px;
23 | pointer-events: none;
24 | background-color: rgba($black, 0.05);
25 | border-radius: 100%;
26 | opacity: 0;
27 | transform: scale(1);
28 | transform-origin: 50%;
29 |
30 | &.ripple-on {
31 | opacity: 0.1;
32 | transition: opacity 0.15s ease-in 0s,
33 | transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
34 | }
35 |
36 | &.ripple-out {
37 | opacity: 0;
38 | transition: opacity 0.1s linear 0s !important;
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/_social-buttons.scss:
--------------------------------------------------------------------------------
1 | // style for the social buttons from fixed product_plugins (Twitter and Facebook)
2 |
3 | .btn{
4 | // Social colors
5 | @include bmd-social-buttons();
6 | }
7 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/_tooltip.scss:
--------------------------------------------------------------------------------
1 | // specs https://material.google.com/components/tooltips.html#tooltips-tooltips-desktop-
2 |
3 | .tooltip-arrow {
4 | display: none;
5 | }
6 |
7 | .tooltip.show{
8 | opacity: 1;
9 | @include transform-translate-y(0px);
10 |
11 |
12 | }
13 | .tooltip{
14 | opacity: 0;
15 | transition: opacity, transform .2s ease;
16 | @include transform-translate-y(5px);
17 | font-size: $tooltip-font-size;
18 |
19 | &.bs-tooltip-top,
20 | &.bs-tooltip-auto[x-placement^="top"]{
21 | & .arrow::before{
22 | border-top-color: $white-color;
23 | }
24 | }
25 |
26 | &.bs-tooltip-right,
27 | &.bs-tooltip-auto[x-placement^="right"]{
28 | & .arrow::before{
29 | border-right-color: $white-color;
30 | }
31 | }
32 | &.bs-tooltip-left,
33 | &.bs-tooltip-auto[x-placement^="left"]{
34 | & .arrow::before{
35 | border-left-color: $white-color;
36 | }
37 | }
38 | &.bs-tooltip-bottom,
39 | &.bs-tooltip-auto[x-placement^="bottom"]{
40 | & .arrow::before{
41 | border-bottom-color: $white-color;
42 | }
43 | }
44 | }
45 |
46 | .tooltip-inner{
47 | padding: 10px 15px;
48 | min-width: 130px;
49 | }
50 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/_type.scss:
--------------------------------------------------------------------------------
1 | html * {
2 | -webkit-font-smoothing: antialiased;
3 | -moz-osx-font-smoothing: grayscale;
4 | }
5 |
6 | body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 {
7 | font-family: $font-family-sans-serif;
8 | font-weight: 300;
9 | line-height: 1.5em;
10 | }
11 |
12 |
13 | h1, .h1 {
14 | font-size: $font-size-h1;
15 | line-height: 1.15em;
16 | }
17 | h2, .h2{
18 | font-size: $font-size-h2;
19 | }
20 | h3, .h3{
21 | font-size: $font-size-h3;
22 | line-height: 1.4em;
23 | margin: 20px 0 10px;
24 | }
25 | h4, .h4{
26 | font-size: $font-size-h4;
27 | line-height: 1.4em;
28 | font-weight: 300;
29 | }
30 | h5, .h5 {
31 | font-size: $font-size-h5;
32 | line-height: 1.4em;
33 | margin-bottom: 15px;
34 | }
35 | h6, .h6{
36 | font-size: $font-size-h6;
37 | text-transform: uppercase;
38 | font-weight: $font-weight-bold;
39 | }
40 |
41 | .title,
42 | .card-title,
43 | .info-title,
44 | .footer-brand,
45 | .footer-big h5,
46 | .footer-big h4,
47 | .media .media-heading{
48 | //font-weight: $font-weight-extra-bold;
49 | // font-family: $font-family-serif;
50 |
51 | &,
52 | a{
53 | color: $black-color;
54 | text-decoration: none;
55 | }
56 | }
57 |
58 | .card-blog .card-title{
59 | font-weight: $font-weight-extra-bold;
60 | }
61 |
62 | h2.title{
63 | margin-bottom: $margin-base * 2;
64 | }
65 |
66 | .description,
67 | .card-description,
68 | .footer-big p{
69 | color: $gray-light;
70 | }
71 |
72 | .text-warning {
73 | color: $brand-warning !important;
74 | }
75 | .text-primary {
76 | color: $brand-primary !important;
77 | }
78 | .text-danger {
79 | color: $brand-danger !important;
80 | }
81 | .text-success {
82 | color: $brand-success !important;
83 | }
84 | .text-info {
85 | color: $brand-info !important;
86 | }
87 | .text-rose{
88 | color: $brand-rose !important;
89 | }
90 | .text-gray{
91 | color: $gray-color !important;
92 | }
93 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/_variables.scss:
--------------------------------------------------------------------------------
1 | @import "variables/colors";
2 | @import "variables/shadow";
3 |
4 | @import "variables/bootstrap-material-design-base";
5 |
6 | // Customized BS variables
7 | @import "variables/custom-forms";
8 | @import "variables/spacing";
9 | @import "variables/body";
10 | @import "variables/brand";
11 | @import "variables/buttons";
12 | @import "variables/card";
13 | @import "variables/code";
14 | @import "variables/dropdown";
15 | @import "variables/forms";
16 | @import "variables/list-group";
17 | @import "variables/nav";
18 | @import "variables/pagination";
19 | @import "variables/state";
20 | @import "variables/tables";
21 | @import "variables/tooltip";
22 | @import "variables/type";
23 | @import "variables/modals";
24 |
25 | // import their vars after customization for use below
26 | $enable-flex: true; // fully adopt flexbox layouts
27 | $enable-shadows: true; // enable shadows, set to false to turn off shadows
28 |
29 | // Core Bootstrap Variables
30 | @import "./bootstrap/scss/functions";
31 | @import "./bootstrap/scss/variables";
32 |
33 | @import "variables/layout";
34 | @import "variables/menu";
35 | @import "variables/drawer";
36 | @import "variables/snackbar";
37 |
38 | @import "variables/bootstrap-material-design";
39 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/_alert.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Base styles
3 | //
4 |
5 | .alert {
6 | position: relative;
7 | padding: $alert-padding-y $alert-padding-x;
8 | margin-bottom: $alert-margin-bottom;
9 | border: $alert-border-width solid transparent;
10 | @include border-radius($alert-border-radius);
11 | }
12 |
13 | // Headings for larger alerts
14 | .alert-heading {
15 | // Specified to prevent conflicts of changing $headings-color
16 | color: inherit;
17 | }
18 |
19 | // Provide class for links that match alerts
20 | .alert-link {
21 | font-weight: $alert-link-font-weight;
22 | }
23 |
24 |
25 | // Dismissible alerts
26 | //
27 | // Expand the right padding and account for the close button's positioning.
28 |
29 | .alert-dismissible {
30 | padding-right: ($close-font-size + $alert-padding-x * 2);
31 |
32 | // Adjust close link position
33 | .close {
34 | position: absolute;
35 | top: 0;
36 | right: 0;
37 | padding: $alert-padding-y $alert-padding-x;
38 | color: inherit;
39 | }
40 | }
41 |
42 |
43 | // Alternate styles
44 | //
45 | // Generate contextual modifier classes for colorizing the alert.
46 |
47 | @each $color, $value in $theme-colors {
48 | .alert-#{$color} {
49 | @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/_badge.scss:
--------------------------------------------------------------------------------
1 | // Base class
2 | //
3 | // Requires one of the contextual, color modifier classes for `color` and
4 | // `background-color`.
5 |
6 | .badge {
7 | display: inline-block;
8 | padding: $badge-padding-y $badge-padding-x;
9 | font-size: $badge-font-size;
10 | font-weight: $badge-font-weight;
11 | line-height: 1;
12 | text-align: center;
13 | white-space: nowrap;
14 | vertical-align: baseline;
15 | @include border-radius($badge-border-radius);
16 |
17 | // Empty badges collapse automatically
18 | &:empty {
19 | display: none;
20 | }
21 | }
22 |
23 | // Quick fix for badges in buttons
24 | .btn .badge {
25 | position: relative;
26 | top: -1px;
27 | }
28 |
29 | // Pill badges
30 | //
31 | // Make them extra rounded with a modifier to replace v3's badges.
32 |
33 | .badge-pill {
34 | padding-right: $badge-pill-padding-x;
35 | padding-left: $badge-pill-padding-x;
36 | @include border-radius($badge-pill-border-radius);
37 | }
38 |
39 | // Colors
40 | //
41 | // Contextual variations (linked badges get darker on :hover).
42 |
43 | @each $color, $value in $theme-colors {
44 | .badge-#{$color} {
45 | @include badge-variant($value);
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/_breadcrumb.scss:
--------------------------------------------------------------------------------
1 | .breadcrumb {
2 | display: flex;
3 | flex-wrap: wrap;
4 | padding: $breadcrumb-padding-y $breadcrumb-padding-x;
5 | margin-bottom: $breadcrumb-margin-bottom;
6 | list-style: none;
7 | background-color: $breadcrumb-bg;
8 | @include border-radius($border-radius);
9 | }
10 |
11 | .breadcrumb-item {
12 | // The separator between breadcrumbs (by default, a forward-slash: "/")
13 | + .breadcrumb-item::before {
14 | display: inline-block; // Suppress underlining of the separator in modern browsers
15 | padding-right: $breadcrumb-item-padding;
16 | padding-left: $breadcrumb-item-padding;
17 | color: $breadcrumb-divider-color;
18 | content: "#{$breadcrumb-divider}";
19 | }
20 |
21 | // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built
22 | // without `
`s. The `::before` pseudo-element generates an element
23 | // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.
24 | //
25 | // To trick IE into suppressing the underline, we give the pseudo-element an
26 | // underline and then immediately remove it.
27 | + .breadcrumb-item:hover::before {
28 | text-decoration: underline;
29 | }
30 | // stylelint-disable-next-line no-duplicate-selectors
31 | + .breadcrumb-item:hover::before {
32 | text-decoration: none;
33 | }
34 |
35 | &.active {
36 | color: $breadcrumb-active-color;
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/_close.scss:
--------------------------------------------------------------------------------
1 | .close {
2 | float: right;
3 | font-size: $close-font-size;
4 | font-weight: $close-font-weight;
5 | line-height: 1;
6 | color: $close-color;
7 | text-shadow: $close-text-shadow;
8 | opacity: .5;
9 |
10 | @include hover-focus {
11 | color: $close-color;
12 | text-decoration: none;
13 | opacity: .75;
14 | }
15 |
16 | // Opinionated: add "hand" cursor to non-disabled .close elements
17 | &:not(:disabled):not(.disabled) {
18 | cursor: pointer;
19 | }
20 | }
21 |
22 | // Additional properties for button version
23 | // iOS requires the button element instead of an anchor tag.
24 | // If you want the anchor version, it requires `href="#"`.
25 | // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
26 |
27 | // stylelint-disable property-no-vendor-prefix, selector-no-qualifying-type
28 | button.close {
29 | padding: 0;
30 | background-color: transparent;
31 | border: 0;
32 | -webkit-appearance: none;
33 | }
34 | // stylelint-enable
35 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/_code.scss:
--------------------------------------------------------------------------------
1 | // Inline and block code styles
2 | code,
3 | kbd,
4 | pre,
5 | samp {
6 | font-family: $font-family-monospace;
7 | }
8 |
9 | // Inline code
10 | code {
11 | font-size: $code-font-size;
12 | color: $code-color;
13 | word-break: break-word;
14 |
15 | // Streamline the style when inside anchors to avoid broken underline and more
16 | a > & {
17 | color: inherit;
18 | }
19 | }
20 |
21 | // User input typically entered via keyboard
22 | kbd {
23 | padding: $kbd-padding-y $kbd-padding-x;
24 | font-size: $kbd-font-size;
25 | color: $kbd-color;
26 | background-color: $kbd-bg;
27 | @include border-radius($border-radius-sm);
28 | @include box-shadow($kbd-box-shadow);
29 |
30 | kbd {
31 | padding: 0;
32 | font-size: 100%;
33 | font-weight: $nested-kbd-font-weight;
34 | @include box-shadow(none);
35 | }
36 | }
37 |
38 | // Blocks of code
39 | pre {
40 | display: block;
41 | font-size: $code-font-size;
42 | color: $pre-color;
43 |
44 | // Account for some code outputs that place code tags in pre tags
45 | code {
46 | font-size: inherit;
47 | color: inherit;
48 | word-break: normal;
49 | }
50 | }
51 |
52 | // Enable scrollable blocks of code
53 | .pre-scrollable {
54 | max-height: $pre-scrollable-max-height;
55 | overflow-y: scroll;
56 | }
57 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/_grid.scss:
--------------------------------------------------------------------------------
1 | // Container widths
2 | //
3 | // Set the container width, and override it for fixed navbars in media queries.
4 |
5 | @if $enable-grid-classes {
6 | .container {
7 | @include make-container();
8 | @include make-container-max-widths();
9 | }
10 | }
11 |
12 | // Fluid container
13 | //
14 | // Utilizes the mixin meant for fixed width containers, but with 100% width for
15 | // fluid, full width layouts.
16 |
17 | @if $enable-grid-classes {
18 | .container-fluid {
19 | @include make-container();
20 | }
21 | }
22 |
23 | // Row
24 | //
25 | // Rows contain and clear the floats of your columns.
26 |
27 | @if $enable-grid-classes {
28 | .row {
29 | @include make-row();
30 | }
31 |
32 | // Remove the negative margin from default .row, then the horizontal padding
33 | // from all immediate children columns (to prevent runaway style inheritance).
34 | .no-gutters {
35 | margin-right: 0;
36 | margin-left: 0;
37 |
38 | > .col,
39 | > [class*="col-"] {
40 | padding-right: 0;
41 | padding-left: 0;
42 | }
43 | }
44 | }
45 |
46 | // Columns
47 | //
48 | // Common styles for small and large grid columns
49 |
50 | @if $enable-grid-classes {
51 | @include make-grid-columns();
52 | }
53 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/_images.scss:
--------------------------------------------------------------------------------
1 | // Responsive images (ensure images don't scale beyond their parents)
2 | //
3 | // This is purposefully opt-in via an explicit class rather than being the default for all `
`s.
4 | // We previously tried the "images are responsive by default" approach in Bootstrap v2,
5 | // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)
6 | // which weren't expecting the images within themselves to be involuntarily resized.
7 | // See also https://github.com/twbs/bootstrap/issues/18178
8 | .img-fluid {
9 | @include img-fluid;
10 | }
11 |
12 |
13 | // Image thumbnails
14 | .img-thumbnail {
15 | padding: $thumbnail-padding;
16 | background-color: $thumbnail-bg;
17 | border: $thumbnail-border-width solid $thumbnail-border-color;
18 | @include border-radius($thumbnail-border-radius);
19 | @include box-shadow($thumbnail-box-shadow);
20 |
21 | // Keep them at most 100% wide
22 | @include img-fluid;
23 | }
24 |
25 | //
26 | // Figures
27 | //
28 |
29 | .figure {
30 | // Ensures the caption's text aligns with the image.
31 | display: inline-block;
32 | }
33 |
34 | .figure-img {
35 | margin-bottom: ($spacer / 2);
36 | line-height: 1;
37 | }
38 |
39 | .figure-caption {
40 | font-size: $figure-caption-font-size;
41 | color: $figure-caption-color;
42 | }
43 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/_jumbotron.scss:
--------------------------------------------------------------------------------
1 | .jumbotron {
2 | padding: $jumbotron-padding ($jumbotron-padding / 2);
3 | margin-bottom: $jumbotron-padding;
4 | background-color: $jumbotron-bg;
5 | @include border-radius($border-radius-lg);
6 |
7 | @include media-breakpoint-up(sm) {
8 | padding: ($jumbotron-padding * 2) $jumbotron-padding;
9 | }
10 | }
11 |
12 | .jumbotron-fluid {
13 | padding-right: 0;
14 | padding-left: 0;
15 | @include border-radius(0);
16 | }
17 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/_media.scss:
--------------------------------------------------------------------------------
1 | .media {
2 | display: flex;
3 | align-items: flex-start;
4 | }
5 |
6 | .media-body {
7 | flex: 1;
8 | }
9 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/_mixins.scss:
--------------------------------------------------------------------------------
1 | // Toggles
2 | //
3 | // Used in conjunction with global variables to enable certain theme features.
4 |
5 | // Utilities
6 | @import "mixins/breakpoints";
7 | @import "mixins/hover";
8 | @import "mixins/image";
9 | @import "mixins/badge";
10 | @import "mixins/resize";
11 | @import "mixins/screen-reader";
12 | @import "mixins/size";
13 | @import "mixins/reset-text";
14 | @import "mixins/text-emphasis";
15 | @import "mixins/text-hide";
16 | @import "mixins/text-truncate";
17 | @import "mixins/visibility";
18 |
19 | // // Components
20 | @import "mixins/alert";
21 | @import "mixins/buttons";
22 | @import "mixins/caret";
23 | @import "mixins/pagination";
24 | @import "mixins/lists";
25 | @import "mixins/list-group";
26 | @import "mixins/nav-divider";
27 | @import "mixins/forms";
28 | @import "mixins/table-row";
29 |
30 | // // Skins
31 | @import "mixins/background-variant";
32 | @import "mixins/border-radius";
33 | @import "mixins/box-shadow";
34 | @import "mixins/gradients";
35 | @import "mixins/transition";
36 |
37 | // // Layout
38 | @import "mixins/clearfix";
39 | // @import "mixins/navbar-align";
40 | @import "mixins/grid-framework";
41 | @import "mixins/grid";
42 | @import "mixins/float";
43 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/_progress.scss:
--------------------------------------------------------------------------------
1 | @keyframes progress-bar-stripes {
2 | from { background-position: $progress-height 0; }
3 | to { background-position: 0 0; }
4 | }
5 |
6 | .progress {
7 | display: flex;
8 | height: $progress-height;
9 | overflow: hidden; // force rounded corners by cropping it
10 | font-size: $progress-font-size;
11 | background-color: $progress-bg;
12 | @include border-radius($progress-border-radius);
13 | @include box-shadow($progress-box-shadow);
14 | }
15 |
16 | .progress-bar {
17 | display: flex;
18 | flex-direction: column;
19 | justify-content: center;
20 | color: $progress-bar-color;
21 | text-align: center;
22 | background-color: $progress-bar-bg;
23 | @include transition($progress-bar-transition);
24 | }
25 |
26 | .progress-bar-striped {
27 | @include gradient-striped();
28 | background-size: $progress-height $progress-height;
29 | }
30 |
31 | .progress-bar-animated {
32 | animation: progress-bar-stripes $progress-bar-animation-timing;
33 | }
34 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/_root.scss:
--------------------------------------------------------------------------------
1 | :root {
2 | // Custom variable values only support SassScript inside `#{}`.
3 | @each $color, $value in $colors {
4 | --#{$color}: #{$value};
5 | }
6 |
7 | @each $color, $value in $theme-colors {
8 | --#{$color}: #{$value};
9 | }
10 |
11 | @each $bp, $value in $grid-breakpoints {
12 | --breakpoint-#{$bp}: #{$value};
13 | }
14 |
15 | // Use `inspect` for lists so that quoted items keep the quotes.
16 | // See https://github.com/sass/sass/issues/2383#issuecomment-336349172
17 | --font-family-sans-serif: #{inspect($font-family-sans-serif)};
18 | --font-family-monospace: #{inspect($font-family-monospace)};
19 | }
20 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/_transitions.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable selector-no-qualifying-type
2 |
3 | .fade {
4 | opacity: 0;
5 | @include transition($transition-fade);
6 |
7 | &.show {
8 | opacity: 1;
9 | }
10 | }
11 |
12 | .collapse {
13 | display: none;
14 | &.show {
15 | display: block;
16 | }
17 | }
18 |
19 | tr {
20 | &.collapse.show {
21 | display: table-row;
22 | }
23 | }
24 |
25 | tbody {
26 | &.collapse.show {
27 | display: table-row-group;
28 | }
29 | }
30 |
31 | .collapsing {
32 | position: relative;
33 | height: 0;
34 | overflow: hidden;
35 | @include transition($transition-collapse);
36 | }
37 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/_utilities.scss:
--------------------------------------------------------------------------------
1 | @import "utilities/align";
2 | @import "utilities/background";
3 | @import "utilities/borders";
4 | @import "utilities/clearfix";
5 | @import "utilities/display";
6 | @import "utilities/embed";
7 | @import "utilities/flex";
8 | @import "utilities/float";
9 | @import "utilities/position";
10 | @import "utilities/screenreaders";
11 | @import "utilities/sizing";
12 | @import "utilities/spacing";
13 | @import "utilities/text";
14 | @import "utilities/visibility";
15 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/bootstrap-grid.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Grid v4.0.0 (https://getbootstrap.com)
3 | * Copyright 2011-2018 The Bootstrap Authors
4 | * Copyright 2011-2018 Twitter, Inc.
5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6 | */
7 |
8 | @at-root {
9 | @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix
10 | }
11 |
12 | html {
13 | box-sizing: border-box;
14 | -ms-overflow-style: scrollbar;
15 | }
16 |
17 | *,
18 | *::before,
19 | *::after {
20 | box-sizing: inherit;
21 | }
22 |
23 | @import "functions";
24 | @import "variables";
25 |
26 | @import "mixins/breakpoints";
27 | @import "mixins/grid-framework";
28 | @import "mixins/grid";
29 |
30 | @import "grid";
31 | @import "utilities/display";
32 | @import "utilities/flex";
33 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/bootstrap-reboot.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Reboot v4.0.0 (https://getbootstrap.com)
3 | * Copyright 2011-2018 The Bootstrap Authors
4 | * Copyright 2011-2018 Twitter, Inc.
5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
7 | */
8 |
9 | @import "functions";
10 | @import "variables";
11 | @import "mixins";
12 | @import "reboot";
13 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/bootstrap.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap v4.0.0 (https://getbootstrap.com)
3 | * Copyright 2011-2018 The Bootstrap Authors
4 | * Copyright 2011-2018 Twitter, Inc.
5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6 | */
7 |
8 | @import "functions";
9 | @import "variables";
10 | @import "mixins";
11 | @import "root";
12 | @import "reboot";
13 | @import "type";
14 | @import "images";
15 | @import "code";
16 | @import "grid";
17 | @import "tables";
18 | @import "forms";
19 | @import "buttons";
20 | @import "transitions";
21 | @import "dropdown";
22 | @import "button-group";
23 | @import "input-group";
24 | @import "custom-forms";
25 | @import "nav";
26 | @import "navbar";
27 | @import "card";
28 | @import "breadcrumb";
29 | @import "pagination";
30 | @import "badge";
31 | @import "jumbotron";
32 | @import "alert";
33 | @import "progress";
34 | @import "media";
35 | @import "list-group";
36 | @import "close";
37 | @import "modal";
38 | @import "tooltip";
39 | @import "popover";
40 | @import "carousel";
41 | @import "utilities";
42 | @import "print";
43 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_alert.scss:
--------------------------------------------------------------------------------
1 | @mixin alert-variant($background, $border, $color) {
2 | color: $color;
3 | @include gradient-bg($background);
4 | border-color: $border;
5 |
6 | hr {
7 | border-top-color: darken($border, 5%);
8 | }
9 |
10 | .alert-link {
11 | color: darken($color, 10%);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_background-variant.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | // Contextual backgrounds
4 |
5 | @mixin bg-variant($parent, $color) {
6 | #{$parent} {
7 | background-color: $color !important;
8 | }
9 | a#{$parent},
10 | button#{$parent} {
11 | @include hover-focus {
12 | background-color: darken($color, 10%) !important;
13 | }
14 | }
15 | }
16 |
17 | @mixin bg-gradient-variant($parent, $color) {
18 | #{$parent} {
19 | background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_badge.scss:
--------------------------------------------------------------------------------
1 | @mixin badge-variant($bg) {
2 | color: color-yiq($bg);
3 | background-color: $bg;
4 |
5 | &[href] {
6 | @include hover-focus {
7 | color: color-yiq($bg);
8 | text-decoration: none;
9 | background-color: darken($bg, 10%);
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_border-radius.scss:
--------------------------------------------------------------------------------
1 | // Single side border-radius
2 |
3 | @mixin border-radius($radius: $border-radius) {
4 | @if $enable-rounded {
5 | border-radius: $radius;
6 | }
7 | }
8 |
9 | @mixin border-top-radius($radius) {
10 | @if $enable-rounded {
11 | border-top-left-radius: $radius;
12 | border-top-right-radius: $radius;
13 | }
14 | }
15 |
16 | @mixin border-right-radius($radius) {
17 | @if $enable-rounded {
18 | border-top-right-radius: $radius;
19 | border-bottom-right-radius: $radius;
20 | }
21 | }
22 |
23 | @mixin border-bottom-radius($radius) {
24 | @if $enable-rounded {
25 | border-bottom-right-radius: $radius;
26 | border-bottom-left-radius: $radius;
27 | }
28 | }
29 |
30 | @mixin border-left-radius($radius) {
31 | @if $enable-rounded {
32 | border-top-left-radius: $radius;
33 | border-bottom-left-radius: $radius;
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_box-shadow.scss:
--------------------------------------------------------------------------------
1 | @mixin box-shadow($shadow...) {
2 | @if $enable-shadows {
3 | box-shadow: $shadow;
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_caret.scss:
--------------------------------------------------------------------------------
1 | @mixin caret-down {
2 | border-top: $caret-width solid;
3 | border-right: $caret-width solid transparent;
4 | border-bottom: 0;
5 | border-left: $caret-width solid transparent;
6 | }
7 |
8 | @mixin caret-up {
9 | border-top: 0;
10 | border-right: $caret-width solid transparent;
11 | border-bottom: $caret-width solid;
12 | border-left: $caret-width solid transparent;
13 | }
14 |
15 | @mixin caret-right {
16 | border-top: $caret-width solid transparent;
17 | border-bottom: $caret-width solid transparent;
18 | border-left: $caret-width solid;
19 | }
20 |
21 | @mixin caret-left {
22 | border-top: $caret-width solid transparent;
23 | border-right: $caret-width solid;
24 | border-bottom: $caret-width solid transparent;
25 | }
26 |
27 | @mixin caret($direction: down) {
28 | @if $enable-caret {
29 | &::after {
30 | display: inline-block;
31 | width: 0;
32 | height: 0;
33 | margin-left: $caret-width * .85;
34 | vertical-align: $caret-width * .85;
35 | content: "";
36 | @if $direction == down {
37 | @include caret-down;
38 | } @else if $direction == up {
39 | @include caret-up;
40 | } @else if $direction == right {
41 | @include caret-right;
42 | }
43 | }
44 |
45 | @if $direction == left {
46 | &::after {
47 | display: none;
48 | }
49 |
50 | &::before {
51 | display: inline-block;
52 | width: 0;
53 | height: 0;
54 | margin-right: $caret-width * .85;
55 | vertical-align: $caret-width * .85;
56 | content: "";
57 | @include caret-left;
58 | }
59 | }
60 |
61 | &:empty::after {
62 | margin-left: 0;
63 | }
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_clearfix.scss:
--------------------------------------------------------------------------------
1 | @mixin clearfix() {
2 | &::after {
3 | display: block;
4 | clear: both;
5 | content: "";
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_float.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | @mixin float-left {
4 | float: left !important;
5 | }
6 | @mixin float-right {
7 | float: right !important;
8 | }
9 | @mixin float-none {
10 | float: none !important;
11 | }
12 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_grid.scss:
--------------------------------------------------------------------------------
1 | /// Grid system
2 | //
3 | // Generate semantic grid columns with these mixins.
4 |
5 | @mixin make-container() {
6 | width: 100%;
7 | padding-right: ($grid-gutter-width / 2);
8 | padding-left: ($grid-gutter-width / 2);
9 | margin-right: auto;
10 | margin-left: auto;
11 | }
12 |
13 |
14 | // For each breakpoint, define the maximum width of the container in a media query
15 | @mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {
16 | @each $breakpoint, $container-max-width in $max-widths {
17 | @include media-breakpoint-up($breakpoint, $breakpoints) {
18 | max-width: $container-max-width;
19 | }
20 | }
21 | }
22 |
23 | @mixin make-row() {
24 | display: flex;
25 | flex-wrap: wrap;
26 | margin-right: ($grid-gutter-width / -2);
27 | margin-left: ($grid-gutter-width / -2);
28 | }
29 |
30 | @mixin make-col-ready() {
31 | position: relative;
32 | // Prevent columns from becoming too narrow when at smaller grid tiers by
33 | // always setting `width: 100%;`. This works because we use `flex` values
34 | // later on to override this initial width.
35 | width: 100%;
36 | min-height: 1px; // Prevent collapsing
37 | padding-right: ($grid-gutter-width / 2);
38 | padding-left: ($grid-gutter-width / 2);
39 | }
40 |
41 | @mixin make-col($size, $columns: $grid-columns) {
42 | flex: 0 0 percentage($size / $columns);
43 | // Add a `max-width` to ensure content within each column does not blow out
44 | // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari
45 | // do not appear to require this.
46 | max-width: percentage($size / $columns);
47 | }
48 |
49 | @mixin make-col-offset($size, $columns: $grid-columns) {
50 | $num: $size / $columns;
51 | margin-left: if($num == 0, 0, percentage($num));
52 | }
53 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_hover.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable indentation
2 |
3 | // Hover mixin and `$enable-hover-media-query` are deprecated.
4 | //
5 | // Origally added during our alphas and maintained during betas, this mixin was
6 | // designed to prevent `:hover` stickiness on iOS—an issue where hover styles
7 | // would persist after initial touch.
8 | //
9 | // For backward compatibility, we've kept these mixins and updated them to
10 | // always return their regular psuedo-classes instead of a shimmed media query.
11 | //
12 | // Issue: https://github.com/twbs/bootstrap/issues/25195
13 |
14 | @mixin hover {
15 | &:hover { @content; }
16 | }
17 |
18 | @mixin hover-focus {
19 | &:hover,
20 | &:focus {
21 | @content;
22 | }
23 | }
24 |
25 | @mixin plain-hover-focus {
26 | &,
27 | &:hover,
28 | &:focus {
29 | @content;
30 | }
31 | }
32 |
33 | @mixin hover-focus-active {
34 | &:hover,
35 | &:focus,
36 | &:active {
37 | @content;
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_image.scss:
--------------------------------------------------------------------------------
1 | // Image Mixins
2 | // - Responsive image
3 | // - Retina image
4 |
5 |
6 | // Responsive image
7 | //
8 | // Keep images from scaling beyond the width of their parents.
9 |
10 | @mixin img-fluid {
11 | // Part 1: Set a maximum relative to the parent
12 | max-width: 100%;
13 | // Part 2: Override the height to auto, otherwise images will be stretched
14 | // when setting a width and height attribute on the img element.
15 | height: auto;
16 | }
17 |
18 |
19 | // Retina image
20 | //
21 | // Short retina mixin for setting background-image and -size.
22 |
23 | // stylelint-disable indentation, media-query-list-comma-newline-after
24 | @mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {
25 | background-image: url($file-1x);
26 |
27 | // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,
28 | // but doesn't convert dppx=>dpi.
29 | // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.
30 | // Compatibility info: https://caniuse.com/#feat=css-media-resolution
31 | @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx
32 | only screen and (min-resolution: 2dppx) { // Standardized
33 | background-image: url($file-2x);
34 | background-size: $width-1x $height-1x;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_list-group.scss:
--------------------------------------------------------------------------------
1 | // List Groups
2 |
3 | @mixin list-group-item-variant($state, $background, $color) {
4 | .list-group-item-#{$state} {
5 | color: $color;
6 | background-color: $background;
7 |
8 | &.list-group-item-action {
9 | @include hover-focus {
10 | color: $color;
11 | background-color: darken($background, 5%);
12 | }
13 |
14 | &.active {
15 | color: #fff;
16 | background-color: $color;
17 | border-color: $color;
18 | }
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_lists.scss:
--------------------------------------------------------------------------------
1 | // Lists
2 |
3 | // Unstyled keeps list items block level, just removes default browser padding and list-style
4 | @mixin list-unstyled {
5 | padding-left: 0;
6 | list-style: none;
7 | }
8 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_nav-divider.scss:
--------------------------------------------------------------------------------
1 | // Horizontal dividers
2 | //
3 | // Dividers (basically an hr) within dropdowns and nav lists
4 |
5 | @mixin nav-divider($color: #e5e5e5) {
6 | height: 0;
7 | margin: ($spacer / 2) 0;
8 | overflow: hidden;
9 | border-top: 1px solid $color;
10 | }
11 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_navbar-align.scss:
--------------------------------------------------------------------------------
1 | // Navbar vertical align
2 | //
3 | // Vertically center elements in the navbar.
4 | // Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);`
5 | // to calculate the appropriate top margin.
6 |
7 | // @mixin navbar-vertical-align($element-height) {
8 | // margin-top: (($navbar-height - $element-height) / 2);
9 | // margin-bottom: (($navbar-height - $element-height) / 2);
10 | // }
11 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_pagination.scss:
--------------------------------------------------------------------------------
1 | // Pagination
2 |
3 | @mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {
4 | .page-link {
5 | padding: $padding-y $padding-x;
6 | font-size: $font-size;
7 | line-height: $line-height;
8 | }
9 |
10 | .page-item {
11 | &:first-child {
12 | .page-link {
13 | @include border-left-radius($border-radius);
14 | }
15 | }
16 | &:last-child {
17 | .page-link {
18 | @include border-right-radius($border-radius);
19 | }
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_reset-text.scss:
--------------------------------------------------------------------------------
1 | @mixin reset-text {
2 | font-family: $font-family-base;
3 | // We deliberately do NOT reset font-size or word-wrap.
4 | font-style: normal;
5 | font-weight: $font-weight-normal;
6 | line-height: $line-height-base;
7 | text-align: left; // Fallback for where `start` is not supported
8 | text-align: start; // stylelint-disable-line declaration-block-no-duplicate-properties
9 | text-decoration: none;
10 | text-shadow: none;
11 | text-transform: none;
12 | letter-spacing: normal;
13 | word-break: normal;
14 | word-spacing: normal;
15 | white-space: normal;
16 | line-break: auto;
17 | }
18 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_resize.scss:
--------------------------------------------------------------------------------
1 | // Resize anything
2 |
3 | @mixin resizable($direction) {
4 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible`
5 | resize: $direction; // Options: horizontal, vertical, both
6 | }
7 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_screen-reader.scss:
--------------------------------------------------------------------------------
1 | // Only display content to screen readers
2 | //
3 | // See: http://a11yproject.com/posts/how-to-hide-content/
4 | // See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/
5 |
6 | @mixin sr-only {
7 | position: absolute;
8 | width: 1px;
9 | height: 1px;
10 | padding: 0;
11 | overflow: hidden;
12 | clip: rect(0, 0, 0, 0);
13 | white-space: nowrap;
14 | clip-path: inset(50%);
15 | border: 0;
16 | }
17 |
18 | // Use in conjunction with .sr-only to only display content when it's focused.
19 | //
20 | // Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
21 | //
22 | // Credit: HTML5 Boilerplate
23 |
24 | @mixin sr-only-focusable {
25 | &:active,
26 | &:focus {
27 | position: static;
28 | width: auto;
29 | height: auto;
30 | overflow: visible;
31 | clip: auto;
32 | white-space: normal;
33 | clip-path: none;
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_size.scss:
--------------------------------------------------------------------------------
1 | // Sizing shortcuts
2 |
3 | @mixin size($width, $height: $width) {
4 | width: $width;
5 | height: $height;
6 | }
7 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_table-row.scss:
--------------------------------------------------------------------------------
1 | // Tables
2 |
3 | @mixin table-row-variant($state, $background) {
4 | // Exact selectors below required to override `.table-striped` and prevent
5 | // inheritance to nested tables.
6 | .table-#{$state} {
7 | &,
8 | > th,
9 | > td {
10 | background-color: $background;
11 | }
12 | }
13 |
14 | // Hover states for `.table-hover`
15 | // Note: this is not available for cells or rows within `thead` or `tfoot`.
16 | .table-hover {
17 | $hover-background: darken($background, 5%);
18 |
19 | .table-#{$state} {
20 | @include hover {
21 | background-color: $hover-background;
22 |
23 | > td,
24 | > th {
25 | background-color: $hover-background;
26 | }
27 | }
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_text-emphasis.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | // Typography
4 |
5 | @mixin text-emphasis-variant($parent, $color) {
6 | #{$parent} {
7 | color: $color !important;
8 | }
9 | a#{$parent} {
10 | @include hover-focus {
11 | color: darken($color, 10%) !important;
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_text-hide.scss:
--------------------------------------------------------------------------------
1 | // CSS image replacement
2 | @mixin text-hide() {
3 | // stylelint-disable-next-line font-family-no-missing-generic-family-keyword
4 | font: 0/0 a;
5 | color: transparent;
6 | text-shadow: none;
7 | background-color: transparent;
8 | border: 0;
9 | }
10 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_text-truncate.scss:
--------------------------------------------------------------------------------
1 | // Text truncate
2 | // Requires inline-block or block for proper styling
3 |
4 | @mixin text-truncate() {
5 | overflow: hidden;
6 | text-overflow: ellipsis;
7 | white-space: nowrap;
8 | }
9 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_transition.scss:
--------------------------------------------------------------------------------
1 | @mixin transition($transition...) {
2 | @if $enable-transitions {
3 | @if length($transition) == 0 {
4 | transition: $transition-base;
5 | } @else {
6 | transition: $transition;
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/mixins/_visibility.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | // Visibility
4 |
5 | @mixin invisible($visibility) {
6 | visibility: $visibility !important;
7 | }
8 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/utilities/_align.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | .align-baseline { vertical-align: baseline !important; } // Browser default
4 | .align-top { vertical-align: top !important; }
5 | .align-middle { vertical-align: middle !important; }
6 | .align-bottom { vertical-align: bottom !important; }
7 | .align-text-bottom { vertical-align: text-bottom !important; }
8 | .align-text-top { vertical-align: text-top !important; }
9 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/utilities/_background.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | @each $color, $value in $theme-colors {
4 | @include bg-variant(".bg-#{$color}", $value);
5 | }
6 |
7 | @if $enable-gradients {
8 | @each $color, $value in $theme-colors {
9 | @include bg-gradient-variant(".bg-gradient-#{$color}", $value);
10 | }
11 | }
12 |
13 | .bg-white {
14 | background-color: $white !important;
15 | }
16 |
17 | .bg-transparent {
18 | background-color: transparent !important;
19 | }
20 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/utilities/_borders.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | //
4 | // Border
5 | //
6 |
7 | .border { border: $border-width solid $border-color !important; }
8 | .border-top { border-top: $border-width solid $border-color !important; }
9 | .border-right { border-right: $border-width solid $border-color !important; }
10 | .border-bottom { border-bottom: $border-width solid $border-color !important; }
11 | .border-left { border-left: $border-width solid $border-color !important; }
12 |
13 | .border-0 { border: 0 !important; }
14 | .border-top-0 { border-top: 0 !important; }
15 | .border-right-0 { border-right: 0 !important; }
16 | .border-bottom-0 { border-bottom: 0 !important; }
17 | .border-left-0 { border-left: 0 !important; }
18 |
19 | @each $color, $value in $theme-colors {
20 | .border-#{$color} {
21 | border-color: $value !important;
22 | }
23 | }
24 |
25 | .border-white {
26 | border-color: $white !important;
27 | }
28 |
29 | //
30 | // Border-radius
31 | //
32 |
33 | .rounded {
34 | border-radius: $border-radius !important;
35 | }
36 | .rounded-top {
37 | border-top-left-radius: $border-radius !important;
38 | border-top-right-radius: $border-radius !important;
39 | }
40 | .rounded-right {
41 | border-top-right-radius: $border-radius !important;
42 | border-bottom-right-radius: $border-radius !important;
43 | }
44 | .rounded-bottom {
45 | border-bottom-right-radius: $border-radius !important;
46 | border-bottom-left-radius: $border-radius !important;
47 | }
48 | .rounded-left {
49 | border-top-left-radius: $border-radius !important;
50 | border-bottom-left-radius: $border-radius !important;
51 | }
52 |
53 | .rounded-circle {
54 | border-radius: 50% !important;
55 | }
56 |
57 | .rounded-0 {
58 | border-radius: 0 !important;
59 | }
60 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/utilities/_clearfix.scss:
--------------------------------------------------------------------------------
1 | .clearfix {
2 | @include clearfix();
3 | }
4 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/utilities/_display.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | //
4 | // Utilities for common `display` values
5 | //
6 |
7 | @each $breakpoint in map-keys($grid-breakpoints) {
8 | @include media-breakpoint-up($breakpoint) {
9 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
10 |
11 | .d#{$infix}-none { display: none !important; }
12 | .d#{$infix}-inline { display: inline !important; }
13 | .d#{$infix}-inline-block { display: inline-block !important; }
14 | .d#{$infix}-block { display: block !important; }
15 | .d#{$infix}-table { display: table !important; }
16 | .d#{$infix}-table-row { display: table-row !important; }
17 | .d#{$infix}-table-cell { display: table-cell !important; }
18 | .d#{$infix}-flex { display: flex !important; }
19 | .d#{$infix}-inline-flex { display: inline-flex !important; }
20 | }
21 | }
22 |
23 |
24 | //
25 | // Utilities for toggling `display` in print
26 | //
27 |
28 | @media print {
29 | .d-print-none { display: none !important; }
30 | .d-print-inline { display: inline !important; }
31 | .d-print-inline-block { display: inline-block !important; }
32 | .d-print-block { display: block !important; }
33 | .d-print-table { display: table !important; }
34 | .d-print-table-row { display: table-row !important; }
35 | .d-print-table-cell { display: table-cell !important; }
36 | .d-print-flex { display: flex !important; }
37 | .d-print-inline-flex { display: inline-flex !important; }
38 | }
39 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/utilities/_embed.scss:
--------------------------------------------------------------------------------
1 | // Credit: Nicolas Gallagher and SUIT CSS.
2 |
3 | .embed-responsive {
4 | position: relative;
5 | display: block;
6 | width: 100%;
7 | padding: 0;
8 | overflow: hidden;
9 |
10 | &::before {
11 | display: block;
12 | content: "";
13 | }
14 |
15 | .embed-responsive-item,
16 | iframe,
17 | embed,
18 | object,
19 | video {
20 | position: absolute;
21 | top: 0;
22 | bottom: 0;
23 | left: 0;
24 | width: 100%;
25 | height: 100%;
26 | border: 0;
27 | }
28 | }
29 |
30 | .embed-responsive-21by9 {
31 | &::before {
32 | padding-top: percentage(9 / 21);
33 | }
34 | }
35 |
36 | .embed-responsive-16by9 {
37 | &::before {
38 | padding-top: percentage(9 / 16);
39 | }
40 | }
41 |
42 | .embed-responsive-4by3 {
43 | &::before {
44 | padding-top: percentage(3 / 4);
45 | }
46 | }
47 |
48 | .embed-responsive-1by1 {
49 | &::before {
50 | padding-top: percentage(1 / 1);
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/utilities/_float.scss:
--------------------------------------------------------------------------------
1 | @each $breakpoint in map-keys($grid-breakpoints) {
2 | @include media-breakpoint-up($breakpoint) {
3 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
4 |
5 | .float#{$infix}-left { @include float-left; }
6 | .float#{$infix}-right { @include float-right; }
7 | .float#{$infix}-none { @include float-none; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/utilities/_position.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | // Common values
4 |
5 | // Sass list not in variables since it's not intended for customization.
6 | $positions: static, relative, absolute, fixed, sticky;
7 |
8 | @each $position in $positions {
9 | .position-#{$position} { position: $position !important; }
10 | }
11 |
12 | // Shorthand
13 |
14 | .fixed-top {
15 | position: fixed;
16 | top: 0;
17 | right: 0;
18 | left: 0;
19 | z-index: $zindex-fixed;
20 | }
21 |
22 | .fixed-bottom {
23 | position: fixed;
24 | right: 0;
25 | bottom: 0;
26 | left: 0;
27 | z-index: $zindex-fixed;
28 | }
29 |
30 | .sticky-top {
31 | @supports (position: sticky) {
32 | position: sticky;
33 | top: 0;
34 | z-index: $zindex-sticky;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/utilities/_screenreaders.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Screenreaders
3 | //
4 |
5 | .sr-only {
6 | @include sr-only();
7 | }
8 |
9 | .sr-only-focusable {
10 | @include sr-only-focusable();
11 | }
12 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/utilities/_sizing.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | // Width and height
4 |
5 | @each $prop, $abbrev in (width: w, height: h) {
6 | @each $size, $length in $sizes {
7 | .#{$abbrev}-#{$size} { #{$prop}: $length !important; }
8 | }
9 | }
10 |
11 | .mw-100 { max-width: 100% !important; }
12 | .mh-100 { max-height: 100% !important; }
13 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/utilities/_spacing.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | // Margin and Padding
4 |
5 | @each $breakpoint in map-keys($grid-breakpoints) {
6 | @include media-breakpoint-up($breakpoint) {
7 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
8 |
9 | @each $prop, $abbrev in (margin: m, padding: p) {
10 | @each $size, $length in $spacers {
11 |
12 | .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }
13 | .#{$abbrev}t#{$infix}-#{$size},
14 | .#{$abbrev}y#{$infix}-#{$size} {
15 | #{$prop}-top: $length !important;
16 | }
17 | .#{$abbrev}r#{$infix}-#{$size},
18 | .#{$abbrev}x#{$infix}-#{$size} {
19 | #{$prop}-right: $length !important;
20 | }
21 | .#{$abbrev}b#{$infix}-#{$size},
22 | .#{$abbrev}y#{$infix}-#{$size} {
23 | #{$prop}-bottom: $length !important;
24 | }
25 | .#{$abbrev}l#{$infix}-#{$size},
26 | .#{$abbrev}x#{$infix}-#{$size} {
27 | #{$prop}-left: $length !important;
28 | }
29 | }
30 | }
31 |
32 | // Some special margin utils
33 | .m#{$infix}-auto { margin: auto !important; }
34 | .mt#{$infix}-auto,
35 | .my#{$infix}-auto {
36 | margin-top: auto !important;
37 | }
38 | .mr#{$infix}-auto,
39 | .mx#{$infix}-auto {
40 | margin-right: auto !important;
41 | }
42 | .mb#{$infix}-auto,
43 | .my#{$infix}-auto {
44 | margin-bottom: auto !important;
45 | }
46 | .ml#{$infix}-auto,
47 | .mx#{$infix}-auto {
48 | margin-left: auto !important;
49 | }
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/utilities/_text.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | //
4 | // Text
5 | //
6 |
7 | // Alignment
8 |
9 | .text-justify { text-align: justify !important; }
10 | .text-nowrap { white-space: nowrap !important; }
11 | .text-truncate { @include text-truncate; }
12 |
13 | // Responsive alignment
14 |
15 | @each $breakpoint in map-keys($grid-breakpoints) {
16 | @include media-breakpoint-up($breakpoint) {
17 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
18 |
19 | .text#{$infix}-left { text-align: left !important; }
20 | .text#{$infix}-right { text-align: right !important; }
21 | .text#{$infix}-center { text-align: center !important; }
22 | }
23 | }
24 |
25 | // Transformation
26 |
27 | .text-lowercase { text-transform: lowercase !important; }
28 | .text-uppercase { text-transform: uppercase !important; }
29 | .text-capitalize { text-transform: capitalize !important; }
30 |
31 | // Weight and italics
32 |
33 | .font-weight-light { font-weight: $font-weight-light !important; }
34 | .font-weight-normal { font-weight: $font-weight-normal !important; }
35 | .font-weight-bold { font-weight: $font-weight-bold !important; }
36 | .font-italic { font-style: italic !important; }
37 |
38 | // Contextual colors
39 |
40 | .text-white { color: #fff !important; }
41 |
42 | @each $color, $value in $theme-colors {
43 | @include text-emphasis-variant(".text-#{$color}", $value);
44 | }
45 |
46 | .text-muted { color: $text-muted !important; }
47 |
48 | // Misc
49 |
50 | .text-hide {
51 | @include text-hide();
52 | }
53 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/bootstrap/scss/utilities/_visibility.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Visibility utilities
3 | //
4 |
5 | .visible {
6 | @include invisible(visible);
7 | }
8 |
9 | .invisible {
10 | @include invisible(hidden);
11 | }
12 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/cards/_card-plain.scss:
--------------------------------------------------------------------------------
1 | .card-plain {
2 | background: transparent;
3 | box-shadow: none;
4 |
5 | .card-header:not(.card-avatar) {
6 | margin-left: 0;
7 | margin-right: 0;
8 | }
9 |
10 | .card-body {
11 | padding-left: 5px;
12 | padding-right: 5px;
13 | }
14 |
15 | .card-header-image {
16 | margin: 0 !important;
17 | border-radius: $border-radius-large;
18 |
19 | img {
20 | border-radius: $border-radius-large;
21 | }
22 | }
23 | .card-footer {
24 | padding-left: 5px;
25 | padding-right: 5px;
26 | background-color: transparent;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/cards/_card-profile.scss:
--------------------------------------------------------------------------------
1 | .card-profile{
2 | margin-top: 30px;
3 | text-align: center;
4 |
5 |
6 | .card-avatar {
7 | margin: -50px auto 0;
8 | border-radius: 50%;
9 | overflow: hidden;
10 | padding: 0;
11 |
12 | @include shadow-big();
13 |
14 | & + .card-body {
15 | margin-top: 15px;
16 | }
17 | img {
18 | width: 100%;
19 | height: auto;
20 | }
21 | }
22 |
23 | .card-body + .card-footer {
24 | margin-top: -15px;
25 | }
26 |
27 | .card-footer {
28 | .btn.btn-just-icon {
29 | font-size: 20px;
30 | padding: 12px 12px;
31 | line-height: 1em;
32 | }
33 | }
34 |
35 | &.card-plain {
36 | .card-avatar {
37 | margin-top: 0;
38 | }
39 | }
40 |
41 | .card-header:not([class*="card-header-"]){
42 | background: transparent;
43 | }
44 | .card-avatar {
45 | max-width: 130px;
46 | max-height: 130px;
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/cards/_card-stats.scss:
--------------------------------------------------------------------------------
1 | .card-stats{
2 | .card-header{
3 | &.card-header-icon,
4 | &.card-header-text{
5 | text-align: right;
6 | }
7 |
8 | .card-icon + .card-title,
9 | .card-icon + .card-category{
10 | padding-top: 10px;
11 | }
12 |
13 | &.card-header-icon .card-title,
14 | &.card-header-text .card-title,
15 | &.card-header-icon .card-category,
16 | &.card-header-text .card-category {
17 | margin: 0;
18 | }
19 | .card-category {
20 | margin-bottom: 0;
21 | margin-top: 0;
22 |
23 | &:not([class*="text-"]){
24 | color: $gray-color;
25 | font-size: $font-paragraph;
26 | }
27 | }
28 |
29 | & + .card-footer{
30 | border-top: 1px solid #eee;
31 | margin-top: 20px;
32 | }
33 |
34 | &.card-header-icon i {
35 | font-size: 36px;
36 | line-height: 56px;
37 | width: 56px;
38 | height: 56px;
39 | text-align: center;
40 | }
41 | }
42 |
43 | .card-body {
44 | text-align: right;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/dark-edition/_dark-alert.scss:
--------------------------------------------------------------------------------
1 | .alert {
2 | @include alert-gradient-color('info', $alert-info-gradient);
3 | @include alert-gradient-color('warning', $alert-warning-gradient);
4 | @include alert-gradient-color('success', $alert-success-gradient);
5 | @include alert-gradient-color('danger', $alert-danger-gradient);
6 | @include alert-gradient-color('primary', $alert-primary-gradient);
7 |
8 | .close {
9 | outline: 0;
10 | text-shadow: none;
11 | bottom: 0;
12 | top: 0 !important;
13 | margin-top: 0 !important;
14 |
15 | &:hover,
16 | &:focus {
17 | color: $white-color;
18 | opacity: 1;
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/dark-edition/_dark-buttons.scss:
--------------------------------------------------------------------------------
1 | .btn {
2 |
3 | &,
4 | &.btn-default {
5 | @include bmd-raised-button-variant($btn-default-color, $dark-btn-default-bg, $dark-btn-default-border-color);
6 | }
7 |
8 | &.btn-primary {
9 | @include bmd-raised-button-variant($btn-primary-color, $dark-btn-primary-bg, $dark-btn-primary-border-color);
10 | }
11 |
12 | &.btn-warning {
13 | @include bmd-raised-button-variant($btn-warning-color, $dark-btn-warning-bg, $dark-btn-warning-border-color);
14 | }
15 |
16 | &.btn-success {
17 | @include bmd-raised-button-variant($btn-success-color, $dark-btn-success-bg, $dark-btn-success-border-color);
18 | }
19 |
20 | &.btn-danger {
21 | @include bmd-raised-button-variant($btn-danger-color, $dark-btn-danger-bg, $btn-danger-border-color);
22 | }
23 |
24 | &.btn-info {
25 | @include bmd-raised-button-variant($btn-info-color, $dark-btn-info-bg, $dark-btn-info-border-color);
26 | }
27 |
28 | &.btn-white {
29 | @include bmd-raised-button-variant($dark-btn-white-color, $white-color, $white-color);
30 | }
31 |
32 | &.btn-facebook {
33 | @include bmd-raised-button-variant($white, $social-facebook, $social-facebook);
34 | }
35 |
36 | &.btn-twitter {
37 | @include bmd-raised-button-variant($white, $social-twitter, $social-twitter);
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/dark-edition/_dark-card-chart.scss:
--------------------------------------------------------------------------------
1 | .card-chart {
2 | .card-body {
3 | .card-category {
4 | color: $card-chart-category-color;
5 |
6 | span {
7 | -webkit-background-clip: text;
8 | background-clip: text;
9 | background-image: $header-success-gradient;
10 | color: transparent;
11 | }
12 | }
13 | }
14 |
15 | .card-footer {
16 | border-top: $footer-card-line-color;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/dark-edition/_dark-card-plain.scss:
--------------------------------------------------------------------------------
1 | .card-plain {
2 | background: transparent;
3 | }
4 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/dark-edition/_dark-card-stats.scss:
--------------------------------------------------------------------------------
1 | .card-stats {
2 | .card-header .card-category:not([class*="text-"]) {
3 | color: $card-category-color;
4 | }
5 |
6 | .card-header + .card-footer {
7 | border-top: $footer-card-line-color;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/dark-edition/_dark-card.scss:
--------------------------------------------------------------------------------
1 | .card {
2 | background: $card-color;
3 |
4 | .card-header {
5 | &.card-header-text .card-title,
6 | &.card-header-icon .card-title {
7 | color: $card-title-color;
8 | }
9 |
10 | &.card-header-tabs .nav-tabs-title {
11 | color: $white-transparency-8;
12 | }
13 | }
14 |
15 | .card-body {
16 | color: $card-body-color;
17 |
18 | .card-category + .card-title {
19 | color: $white-color;
20 | }
21 |
22 | .card-category,
23 | .card-title {
24 | color: $card-category-color;
25 | }
26 |
27 | .card-description {
28 | color: $card-description-color;
29 | }
30 | }
31 |
32 | .card-body + .card-footer .stats,
33 | .card-footer .stats {
34 | color: $footer-text-color;
35 | }
36 |
37 | .card-footer .stats a{
38 | -webkit-background-clip: text;
39 | background-clip: text;
40 | background-image: $stats-primary-link-color;
41 | color: transparent;
42 | }
43 |
44 | // gradients card headers
45 | @include dark-header-gradient('warning', $header-warning-gradient);
46 | @include dark-header-gradient('success', $header-success-gradient);
47 | @include dark-header-gradient('danger', $header-danger-gradient);
48 | @include dark-header-gradient('info', $header-info-gradient);
49 | @include dark-header-gradient('primary', $header-purple-gradient);
50 | }
51 |
52 | // Card Footer Links Color
53 | @include dark-card-links-color('primary', $stats-primary-link-color !important);
54 | @include dark-card-links-color('info', $stats-info-link-color !important);
55 | @include dark-card-links-color('warning', $stats-warning-link-color !important);
56 | @include dark-card-links-color('success', $stats-success-link-color !important);
57 | @include dark-card-links-color('danger', $stats-danger-link-color !important);
58 |
59 | // Card Stats
60 | @import './dark-card-stats';
61 |
62 | // Card Plain
63 | @import './dark-card-plain';
64 |
65 | // Card Chart
66 | @import './dark-card-chart';
67 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/dark-edition/_dark-checkboxes.scss:
--------------------------------------------------------------------------------
1 | .form-check {
2 | .form-check-sign {
3 | .check {
4 | border-color: $checkbox-border-color;
5 | }
6 |
7 | &:before {
8 | left: -1px;
9 | top: -1px;
10 | }
11 | }
12 |
13 | .form-check-input[disabled] ~ .form-check-sign .check {
14 | border-color: $checkbox-border-color;
15 | }
16 |
17 | .form-check-input:checked + .form-check-sign .check {
18 | border-color: $checkbox-active-border-color;
19 | background: $checkbox-active-sign-color;
20 |
21 | &:before {
22 | color: $card-color;
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/dark-edition/_dark-colors.scss:
--------------------------------------------------------------------------------
1 | .text-primary {
2 | color: lighten($dark-btn-primary-bg, 7%) !important;
3 | }
4 |
5 | .text-muted {
6 | color: $dark-btn-default-bg !important;
7 | }
8 |
9 | .text-info {
10 | color: $dark-btn-info-bg !important;
11 | }
12 |
13 | .text-success {
14 | color: $dark-btn-success-bg !important;
15 | }
16 |
17 | .text-warning {
18 | color: $dark-btn-warning-bg !important;
19 | }
20 |
21 | .text-danger {
22 | color: $dark-btn-danger-bg !important;
23 | }
24 |
25 | .tim-typo {
26 | color: $card-description-color;
27 | }
28 |
29 | .tim-typo .tim-note,
30 | .places-buttons .card-title {
31 | color: $card-category-color;
32 | }
33 |
34 | .places-buttons .card-title .category{
35 | color: $card-title-color;
36 | }
37 |
38 | .list-group-item {
39 | color: $card-list-item-color;
40 | }
41 |
42 | a {
43 | color: $white-color;
44 | }
45 |
46 | &.offline-doc {
47 | .brand .description {
48 | color: $card-category-color;
49 | }
50 |
51 | .navbar.navbar-transparent .navbar-brand {
52 | color: $navbar-color-links;
53 | }
54 |
55 | .page-header:after {
56 | background-color: rgba(26, 32, 53, 0.7);
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/dark-edition/_dark-dropdown.scss:
--------------------------------------------------------------------------------
1 | .dropdown:not(.show-dropdown) .dropdown-menu {
2 | // background-color: $card-color;
3 |
4 | .dropdown-item,
5 | li > a {
6 | color: $card-title-color;
7 | @include transition-except-props($fast-transition-time $transition-linear, color, box-shadow 0ms);
8 |
9 | &:hover,
10 | &:focus,
11 | &:active {
12 | @include shadow-small-color($brand-primary);
13 | background: $sidebar-primary-button-active;
14 | color: $white-color;
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/dark-edition/_dark-fixed-plugin.scss:
--------------------------------------------------------------------------------
1 | .fixed-plugin {
2 | background: $fixed-plugin-bg-rgba;
3 |
4 | .fa-cog {
5 | color: $card-category-color;
6 | }
7 |
8 | .dropdown .dropdown-menu {
9 | background-color: $fixed-plugin-bg;
10 |
11 | &:after {
12 | border-left-color: $fixed-plugin-bg;
13 | }
14 |
15 | li {
16 | &.adjustments-line {
17 | border-bottom-color: $fixed-plugin-separator;
18 | }
19 |
20 | > a.img-holder {
21 | border-color: $badge-border-color;
22 | }
23 |
24 | > a.img-holder:hover,
25 | &.active > a.img-holder {
26 | border-color: $badge-border-active-color;
27 | }
28 | }
29 | }
30 |
31 | li.header-title {
32 | color: $card-category-color;
33 | }
34 |
35 | .badge {
36 | border: 2px solid $badge-border-color;
37 |
38 | &.badge-purple {
39 | background-color: $dark-btn-primary-bg;
40 | }
41 |
42 | &.badge-azure {
43 | background-color: $dark-btn-info-bg;
44 | }
45 |
46 | &.badge-green {
47 | background-color: $dark-btn-success-bg;
48 | }
49 |
50 | &.badge-warning {
51 | background-color: $dark-btn-warning-bg;
52 | }
53 |
54 | &.badge-danger {
55 | background-color: $dark-btn-danger-bg;
56 | }
57 |
58 | &.active,
59 | &:hover {
60 | border-color: $badge-border-active-color;
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/dark-edition/_dark-footer.scss:
--------------------------------------------------------------------------------
1 | .footer {
2 | border-top: 0;
3 |
4 | ul li a,
5 | .copyright {
6 | color: $footer-color-links;
7 | }
8 |
9 | .copyright a {
10 | color: $white-color;
11 | }
12 |
13 | .copyright i {
14 | animation: heartbeat 1s infinite;
15 | -webkit-background-clip: text;
16 | background-clip: text;
17 | background-image: $heartbeat-color;
18 | color: transparent;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/dark-edition/_dark-forms.scss:
--------------------------------------------------------------------------------
1 | .form-control {
2 | color: $white-color;
3 |
4 | @include material-placeholder() {
5 | color: $placeholder-color;
6 | }
7 | }
8 |
9 | .bmd-form-group {
10 | &:not(.has-success):not(.has-danger){
11 | [class^='bmd-label'],
12 | [class*=' bmd-label']{
13 | &.bmd-label-floating{
14 | color: $placeholder-color;
15 | }
16 | }
17 | }
18 | }
19 |
20 | .form-group label {
21 | color: $placeholder-color;
22 | }
23 |
24 | @include bmd-form-color($bmd-label-color, $bmd-label-color-focus, $dark-input-border-color, $dark-input-border-color);
25 |
26 | .has-success {
27 | @include bmd-form-color($brand-success, $brand-success, $brand-success, $dark-input-border-color);
28 | }
29 |
30 | .has-info {
31 | @include bmd-form-color($brand-info, $brand-info, $brand-info, $dark-input-border-color);
32 | }
33 |
34 | .has-white{
35 | @include bmd-form-color($white-color, $white-color, $white-color, $input-border-color-white);
36 |
37 | .form-control{
38 | &:focus{
39 | color: $white-color;
40 | }
41 | }
42 | }
43 |
44 | .has-warning {
45 | @include bmd-form-color($brand-warning, $brand-warning, $brand-warning, $dark-input-border-color);
46 | }
47 |
48 | .has-danger,
49 | .has-error {
50 | @include bmd-form-color($brand-danger, $brand-danger, $brand-danger, $dark-input-border-color);
51 | }
52 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/dark-edition/_dark-heartbeat-animation.scss:
--------------------------------------------------------------------------------
1 | @keyframes heartbeat
2 | {
3 | 0%
4 | {
5 | transform: scale( .75 );
6 | }
7 | 20%
8 | {
9 | transform: scale( 1 );
10 | }
11 | 40%
12 | {
13 | transform: scale( .75 );
14 | }
15 | 60%
16 | {
17 | transform: scale( 1 );
18 | }
19 | 80%
20 | {
21 | transform: scale( .75 );
22 | }
23 | 100%
24 | {
25 | transform: scale( .75 );
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/dark-edition/_dark-mixins.scss:
--------------------------------------------------------------------------------
1 | @mixin dark-card-links-color($links-color, $color) {
2 | .#{$links-color}-link {
3 | background-image: $color;
4 | }
5 | }
6 |
7 | @mixin dark-header-gradient($color-name, $color) {
8 | .card-header-#{$color-name} .card-icon,
9 | .card-header-#{$color-name} .card-text,
10 | .card-header-#{$color-name}:not(.card-header-icon):not(.card-header-text),
11 | &.bg-#{$color-name},
12 | &.card-rotate.bg-#{$color-name} .front,
13 | &.card-rotate.bg-#{$color-name} .back{
14 | background: $color;
15 | }
16 | }
17 |
18 | @mixin dark-set-active-color-button($color, $color-shadow, $data-color){
19 | &[data-color="#{$data-color}"] {
20 | li.active > a{
21 | background: $color;
22 | @include shadow-big-color($color-shadow);
23 | }
24 | }
25 | }
26 |
27 | @mixin dark-tooltip-color ($position, $color) {
28 | &.bs-tooltip-#{$position},
29 | &.bs-tooltip-auto[x-placement^="#{$position}"]{
30 | & .arrow::before{
31 | border-#{$position}-color: $color;
32 | }
33 | }
34 | }
35 |
36 | @mixin alert-gradient-color($color-name, $color-gradient) {
37 | &.alert-#{$color-name} {
38 | background: $color-gradient;
39 | background-color: unset;
40 | }
41 | }
42 |
43 | @mixin navbar-colors($color-name, $color) {
44 | &.bg-#{$color-name} {
45 | background-color: $color !important;
46 | }
47 | }
48 |
49 | @mixin transition-except-props($property...){
50 | -webkit-transition: all $property;
51 | -moz-transition: all $property;
52 | -o-transition: all $property;
53 | -ms-transition: all $property;
54 | transition: all $property;
55 | }
56 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/dark-edition/_dark-navbar.scss:
--------------------------------------------------------------------------------
1 | .navbar {
2 | &:not([class*="bg-"]) {
3 | .navbar-brand,
4 | .collapse .navbar-nav .nav-item .nav-link {
5 | color: $navbar-color-links;
6 | }
7 | }
8 |
9 | &[class*="bg-"] {
10 | .form-control {
11 | @include material-placeholder() {
12 | color: $white-color;
13 | }
14 | }
15 | }
16 |
17 | .notification {
18 | background: $sidebar-primary-button-active;
19 | border: $border-badge-notification;
20 | height: $height-badge-notification;
21 | min-width: $height-badge-notification;
22 | right: $right-position + 12px;
23 | }
24 |
25 | .navbar-toggler .icon-bar {
26 | background: $navbar-color-links !important;
27 | }
28 |
29 | @include navbar-colors('primary', $purple-light);
30 | @include navbar-colors('info', $info-dark);
31 | @include navbar-colors('warning', $warning-dark);
32 | @include navbar-colors('danger', $danger-dark);
33 | @include navbar-colors('success', $success-dark);
34 | }
35 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/dark-edition/_dark-popover-tooltip.scss:
--------------------------------------------------------------------------------
1 | .popover, .tooltip-inner {
2 | background: $tooltips-background-color;
3 | color: $tooltips-text-color;
4 | }
5 |
6 | .tooltip {
7 | // tooltips arrow color
8 | @include dark-tooltip-color('top', $tooltips-arrow-color);
9 | @include dark-tooltip-color('bottom', $tooltips-arrow-color);
10 | @include dark-tooltip-color('right', $tooltips-arrow-color);
11 | @include dark-tooltip-color('left', $tooltips-arrow-color);
12 | }
13 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/dark-edition/_dark-radios.scss:
--------------------------------------------------------------------------------
1 | .form-check.form-check-radio {
2 | .form-check-input ~ .circle {
3 | border-color: $checkbox-border-color;
4 | }
5 |
6 | .form-check-label .circle .check {
7 | background-color: $white-color;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/dark-edition/_dark-sidebar.scss:
--------------------------------------------------------------------------------
1 | .sidebar {
2 | @include dark-set-active-color-button($sidebar-primary-button-active, $brand-primary, 'purple');
3 | @include dark-set-active-color-button($sidebar-info-button-active, $brand-info, 'azure');
4 | @include dark-set-active-color-button($sidebar-success-button-active, $brand-success, 'green');
5 | @include dark-set-active-color-button($sidebar-warning-button-active, $brand-warning, 'orange');
6 | @include dark-set-active-color-button($sidebar-danger-button-active, $brand-danger, 'danger');
7 |
8 | a {
9 | @include transition-except-props($fast-transition-time $transition-ease-in, color, 0ms);
10 | }
11 |
12 | .sidebar-background:after,
13 | & {
14 | background: $sidebar-background;
15 | opacity: .94;
16 | }
17 |
18 | &[data-background-color="black"] .nav li:not(.active) {
19 | a,
20 | .dropdown-menu a {
21 | color: $sidebar-link-color;
22 | }
23 |
24 | i {
25 | color: $sidebar-icon-color;
26 | }
27 |
28 | &:not(.active):hover > a,
29 | & .dropdown-menu a:hover,
30 | & .dropdown-menu a:focus,
31 | &.active > [data-toggle="collapse"] {
32 | background-color: $sidebar-link-hover;
33 | color: $sidebar-link-hover-color;
34 | }
35 | }
36 |
37 | .logo {
38 | .simple-text {
39 | color: $navbar-color-links;
40 | font-weight: $font-weight-light;
41 | }
42 |
43 | &:after {
44 | background-color: $sidebar-separator-color;
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/dark-edition/_dark-tables.scss:
--------------------------------------------------------------------------------
1 | .table > thead > tr > th,
2 | .table > tbody > tr > th,
3 | .table > tfoot > tr > th,
4 | .table > thead > tr > td,
5 | .table > tbody > tr > td,
6 | .table > tfoot > tr > td {
7 | color: $table-text-color;
8 | border-color: $table-borders-color;
9 | }
10 |
11 | .table-hover tbody tr:hover {
12 | background-color: $table-hover-bg;
13 | }
14 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/dark-edition/_dark-tabs.scss:
--------------------------------------------------------------------------------
1 | .nav-tabs .nav-item .nav-link {
2 | position: relative;
3 |
4 | &.active {
5 | background-color: $white-transparency-1;
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/mixins/_breakpoints.scss:
--------------------------------------------------------------------------------
1 | // case where behavior is responsive, or with a marker class
2 | @mixin media-breakpoint-down-or($breakpoint, $name) {
3 | #{unquote($name)} {
4 | @content;
5 | }
6 |
7 | @include media-breakpoint-down($breakpoint) {
8 | @content;
9 | }
10 | }
11 |
12 | // case where behavior is responsive, or with a marker class
13 | @mixin media-breakpoint-up-or($breakpoint, $name) {
14 | #{unquote($name)} {
15 | @content;
16 | }
17 |
18 | @include media-breakpoint-up($breakpoint) {
19 | @content;
20 | }
21 | }
22 |
23 | // Name of the previous breakpoint, or null
24 | //
25 | // >> breakpoint-next(sm)
26 | // xs
27 | // >> breakpoint-next(sm, (xs: 0, sm: 544px, md: 768px))
28 | // xs
29 | // >> breakpoint-next(sm, $breakpoint-names: (xs sm md))
30 | // xs
31 | @function breakpoint-previous($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {
32 | $n: index($breakpoint-names, $name);
33 | @return if($n > 1, nth($breakpoint-names, $n - 1), null);
34 | }
35 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/mixins/_hover.scss:
--------------------------------------------------------------------------------
1 | @mixin bmd-hover-focus-active {
2 | // add the .active to the whole mix of hover-focus-active
3 | &.active {
4 | @content;
5 | }
6 | @include hover-focus-active() {
7 | @content;
8 | }
9 | }
10 |
11 | @mixin transform-translate-y($value){
12 | -webkit-transform: translate3d(0,$value, 0);
13 | -moz-transform: translate3d(0, $value, 0);
14 | -o-transform: translate3d(0, $value, 0);
15 | -ms-transform: translate3d(0, $value, 0);
16 | transform: translate3d(0, $value, 0);
17 | }
18 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/mixins/_layout.scss:
--------------------------------------------------------------------------------
1 | // Generates the `.in` style for the generic backdrop used components such as the drawer in overlay mode
2 | @mixin bmd-layout-backdrop-in() {
3 | > .bmd-layout-backdrop {
4 | .in {
5 | visibility: visible;
6 | background-color: rgba(0, 0, 0, 0.5);
7 | }
8 |
9 | @supports (pointer-events: auto) {
10 | &.in {
11 | pointer-events: auto;
12 | opacity: 1;
13 | }
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/mixins/_navbar-colors.scss:
--------------------------------------------------------------------------------
1 | @mixin navbar-colors($color, $link-color) {
2 | color: $link-color;
3 | background-color: $color !important;
4 | @include shadow-navbar-color($color);
5 |
6 | .dropdown-item:hover,
7 | .dropdown-item:focus{
8 | @include shadow-small-color($color);
9 | background-color: $color;
10 | color: $link-color;
11 | }
12 |
13 | .navbar-toggler{
14 | .navbar-toggler-icon{
15 | background-color: $link-color;
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/mixins/_navs.scss:
--------------------------------------------------------------------------------
1 | @mixin bmd-tabs-color($color, $active-color, $active-border, $disabled-link-color, $disabled-link-hover-color) {
2 | .nav-link {
3 | color: $color;
4 |
5 | &.active {
6 | color: $active-color;
7 | border-color: $active-border;
8 | @include hover-focus {
9 | border-color: $active-border;
10 | }
11 | }
12 |
13 | // Disabled state lightens text and removes hover/tab effects
14 | &.disabled {
15 | color: $disabled-link-color;
16 |
17 | @include plain-hover-focus {
18 | color: $disabled-link-hover-color;
19 | }
20 | }
21 | }
22 | }
23 |
24 | @mixin set-wizard-color($color) {
25 |
26 | .moving-tab{
27 | background-color: $color;
28 | @include shadow-big-color($color);
29 | }
30 |
31 | .picture{
32 | &:hover{
33 | border-color: $color;
34 | }
35 | }
36 |
37 | .choice{
38 | &:hover,
39 | &.active{
40 | .icon{
41 | border-color: $color;
42 | color: $color;
43 | }
44 | }
45 | }
46 |
47 |
48 | .checkbox input[type=checkbox]:checked + .checkbox-material{
49 | .check{
50 | background-color: $color;
51 | }
52 | }
53 |
54 | .radio input[type=radio]:checked ~ .check {
55 | background-color: $color;
56 | }
57 |
58 | .radio input[type=radio]:checked ~ .circle {
59 | border-color: $color;
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/mixins/_sidebar-color.scss:
--------------------------------------------------------------------------------
1 | @mixin sidebar-background-color($background-color, $font-color){
2 | .nav{
3 | .nav-item{
4 | .nav-link{
5 | color: $font-color;
6 | }
7 | i{
8 | color: rgba($font-color, .8);
9 | }
10 |
11 | &.active,
12 | &:hover{
13 | [data-toggle="collapse"]{
14 | color: $font-color;
15 | i{
16 | color: rgba($font-color, .8);
17 | }
18 | }
19 | }
20 | }
21 | }
22 | .user{
23 | a{
24 | color: $font-color;
25 | }
26 | }
27 | .simple-text{
28 | color: $font-color;
29 | }
30 | .sidebar-background:after{
31 | background: $background-color;
32 | opacity: .8;
33 | }
34 | }
35 |
36 | @mixin sidebar-active-color($font-color){
37 | .nav{
38 | .nav-item{
39 | &.active > a:not([data-toggle="collapse"]){
40 | color: $font-color;
41 | opacity: 1;
42 | @include shadow-big-color($font-color);
43 |
44 | i{
45 | color: rgba($font-color, .8);
46 | }
47 | }
48 | }
49 | }
50 | }
51 |
52 | @mixin set-background-color-button($color){
53 |
54 | li.active > a{
55 | background-color: $color;
56 | @include shadow-big-color($color);
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/mixins/_transparency.scss:
--------------------------------------------------------------------------------
1 | // Opacity
2 |
3 | @mixin opacity($opacity) {
4 | opacity: $opacity;
5 | // IE8 filter
6 | $opacity-ie: ($opacity * 100);
7 | filter: #{alpha(opacity=$opacity-ie)};
8 | }
9 |
10 | @mixin black-filter($opacity){
11 | top: 0;
12 | left: 0;
13 | height: 100%;
14 | width: 100%;
15 | position: absolute;
16 | background-color: rgba(17,17,17,$opacity);
17 | display: block;
18 | content: "";
19 | z-index: 1;
20 | }
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/mixins/_type.scss:
--------------------------------------------------------------------------------
1 | @mixin headings() {
2 | h1,
3 | h2,
4 | h3,
5 | h4,
6 | h5,
7 | h6 {
8 | @content;
9 | }
10 | }
11 |
12 | // 14sp font
13 | %std-font {
14 | font-size: .875rem;
15 | }
16 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/mixins/_variables.scss:
--------------------------------------------------------------------------------
1 | //== Buttons
2 | //
3 | //## For each of Bootstrap's buttons, define text, background and border color.
4 |
5 | $opacity-gray-3: rgba(222,222,222, .3) !default;
6 | $opacity-gray-5: rgba(222,222,222, .5) !default;
7 | $opacity-gray-8: rgba(222,222,222, .8) !default;
8 |
9 | $opacity-5: rgba(255,255,255, .5) !default;
10 | $opacity-8: rgba(255,255,255, .8) !default;
11 |
12 | $opacity-1: rgba(255,255,255, .1) !default;
13 | $opacity-2: rgba(255,255,255, .2) !default;
14 |
15 | //== Components
16 | //
17 |
18 | $topbar-x: topbar-x !default;
19 | $topbar-back: topbar-back !default;
20 | $bottombar-x: bottombar-x !default;
21 | $bottombar-back: bottombar-back !default;
22 |
23 | // Sidebar variables
24 | $sidebar-width: calc(100% - 260px) !default;
25 | $sidebar-mini-width: calc(100% - 80px) !default;
26 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/variables/_body.scss:
--------------------------------------------------------------------------------
1 | // Body
2 | //
3 | // Settings for the `` element.
4 |
5 | $body-bg: #fafafa !default;
6 | //$body-color: $gray-dark !default;
7 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/variables/_bootstrap-material-design-base.scss:
--------------------------------------------------------------------------------
1 | $gray-lighter: rgba($black, 0.12) !default;
2 | $gray-light: #999 !default;
3 | $gray-alpha: .54 !default;
4 | $gray: #555 !default; // spec color
5 | $gray-dark: rgba($black, 0.87) !default; // used for text color - others use grey-600 which is considerably lighter
6 |
7 | $bmd-font-weight-base: 400;
8 |
9 | // wondering if any of these could still be refactored out, but are definitely in use.
10 | $bmd-inverse: rgba($white, 1) !default;
11 | $bmd-inverse-light: rgba($white, 0.84) !default;
12 | $bmd-inverse-lighter: rgba($white, 0.54) !default;
13 |
14 | $bmd-label-color: $gray-color !default;
15 | $bmd-label-color-inner-focus: $gray !default; // e.g. radio label or text-muted not a control-label which is primary
16 |
17 | $border-radius-base: 3px !default;
18 | $border-radius-small: 2px !default;
19 | $border-radius-large: 6px !default;
20 | $border-radius-huge: 10px !default;
21 | $border-radius-label: 12px !default;
22 | $border-radius-extreme: 30px !default;
23 |
24 | // Typography elements
25 | $mdb-font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif !default;
26 | $mdb-text-color-light: $white !default;
27 | $mdb-text-color-light-hex: $white !default; // for contrast function in inverse
28 | $mdb-text-color-primary: unquote("rgba(#{$rgb-black}, 0.87)") !default;
29 | $mdb-text-color-primary-hex: $black !default; // for contrast function in inverse
30 | $icon-color: rgba(0,0,0,0.5) !default;
31 |
32 | $mdb-label-color: unquote("rgba(#{$rgb-black}, 0.26)") !default;
33 | $mdb-label-color-toggle-focus: unquote("rgba(#{$rgb-black}, .54)") !default;
34 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/variables/_brand.scss:
--------------------------------------------------------------------------------
1 | // Bootstrap brand color customization
2 |
3 |
4 | /* brand Colors */
5 |
6 | $brand-primary: $purple-500 !default;
7 | $brand-info: $cyan-500 !default;
8 | $brand-success: $green-500 !default;
9 | $brand-warning: $orange-500 !default;
10 | $brand-danger: $red-500 !default;
11 | $brand-rose: $pink-500 !default;
12 | $brand-inverse: $black-color !default;
13 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/variables/_card.scss:
--------------------------------------------------------------------------------
1 | // Cards
2 | //$card-spacer-x: 1.25rem !default;
3 | //$card-spacer-y: .75rem !default;
4 | //$card-border-width: 1px !default;
5 | //$card-border-radius: $border-radius !default;
6 | $card-border-color: $gray-lighter !default; // #e5e5e5
7 | //$card-border-radius-inner: $card-border-radius !default;
8 | $card-bg: #fff !default;
9 | $card-cap-bg: $card-bg !default; // #f5f5f5
10 | //
11 | //$card-link-hover-color: #fff !default;
12 | //
13 | //$card-deck-margin: .625rem !default;
14 | // Card
15 | $mdb-card-body-text: $mdb-text-color-primary !default;
16 | $mdb-card-body-background: #fff !default;
17 | $mdb-card-image-headline: #fff !default;
18 |
19 | $text-disabled: #a8a8a8 !default;
20 | $background-disabled: #eaeaea !default;
21 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/variables/_code.scss:
--------------------------------------------------------------------------------
1 | // Code
2 |
3 | $code-bg: $grey-200 !default; // #f7f7f9 !default;
4 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/variables/_custom-forms.scss:
--------------------------------------------------------------------------------
1 | $custom-file-bg: transparent !default;
2 | $custom-file-border-width: 0 !default;
3 | $custom-file-box-shadow: none !default;
4 | $custom-file-border-radius: 0 !default;
5 | $custom-file-line-height: 1.3 !default;
6 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/variables/_drawer.scss:
--------------------------------------------------------------------------------
1 | // Drawer
2 |
3 | // Sizing
4 | $bmd-drawer-x-size: 240px !default;
5 | $bmd-drawer-y-size: 100px !default;
6 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/variables/_dropdown.scss:
--------------------------------------------------------------------------------
1 | // Dropdowns
2 | //
3 | // Dropdown menu container and contents.
4 |
5 | //$dropdown-bg: #fff !default;
6 | //$dropdown-border-color: rgba(0,0,0,.15) !default;
7 | //$dropdown-border-width: $border-width !default;
8 | //$dropdown-divider-bg: #e5e5e5 !default;
9 | $dropdown-box-shadow: $bmd-shadow-2dp !default; //0 6px 12px rgba(0,0,0,.175) !default;
10 | //
11 | //$dropdown-link-color: $gray-dark !default;
12 | //$dropdown-link-hover-color: darken($gray-dark, 5%) !default;
13 | //$dropdown-link-hover-bg: #f5f5f5 !default;
14 | //
15 | //$dropdown-link-active-color: $component-active-color !default;
16 | //$dropdown-link-active-bg: $component-active-bg !default;
17 | //
18 | //$dropdown-link-disabled-color: $gray-light !default;
19 | //
20 | //$dropdown-header-color: $gray-light !default;
21 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/variables/_layout.scss:
--------------------------------------------------------------------------------
1 | // Layout variables - evidently nothing to see here...remove now?
2 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/variables/_list-group.scss:
--------------------------------------------------------------------------------
1 | // List group
2 |
3 | $list-group-bg: inherit !default; // #fff
4 | //$list-group-border-color: #ddd !default;
5 | $list-group-border-width: 0 !default; // $border-width
6 | $list-group-border-radius: 0 !default; // $border-radius
7 | //
8 | //$list-group-hover-bg: #f5f5f5 !default;
9 | //$list-group-active-color: $component-active-color !default;
10 | //$list-group-active-bg: $component-active-bg !default;
11 | //$list-group-active-border: $list-group-active-bg !default;
12 | //$list-group-active-text-color: lighten($list-group-active-bg, 40%) !default;
13 | //
14 | //$list-group-disabled-color: $gray-light !default;
15 | //$list-group-disabled-bg: $gray-lighter !default;
16 | //$list-group-disabled-text-color: $list-group-disabled-color !default;
17 | //
18 | //$list-group-link-color: #555 !default;
19 | //$list-group-link-hover-color: $list-group-link-color !default;
20 | //$list-group-link-heading-color: #333 !default;
21 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/variables/_menu.scss:
--------------------------------------------------------------------------------
1 | $bmd-menu-line-height: 1 !default; // makes it easier to use sizes to match spec
2 |
3 | $bmd-menu-item-min-width: 7rem !default; // Minimum width on mobile = 2 * 56dp = 112dp
4 | $bmd-menu-item-max-width: 17.5rem !default; // Maximum width on mobile (in both portrait and landscape) = 5 * 56dp = 280dp
5 | $bmd-menu-item-min-height: 3rem !default; // 48px
6 |
7 | $bmd-menu-item-padding-right: 1rem !default;
8 | $bmd-menu-item-padding-bottom: .8rem !default;
9 | $bmd-menu-item-padding-left: 1rem !default;
10 | $bmd-menu-item-padding-top: .8rem !default;
11 |
12 | // md and up
13 | $bmd-menu-item-padding-right-md: 1.5rem !default;
14 | $bmd-menu-item-padding-left-md: 1.5rem !default;
15 |
16 | // Menu
17 | $bmd-menu-expand-duration: 0.3s !default;
18 | $bmd-menu-fade-duration: 0.2s !default;
19 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/variables/_modals.scss:
--------------------------------------------------------------------------------
1 | // Modals
2 | $modal-content-xs-box-shadow: $bmd-shadow-24dp !default;
3 |
4 | // Padding applied to the modal body
5 | //$modal-inner-padding: 15px !default;
6 | //
7 | //$modal-title-padding: 15px !default;
8 | //$modal-title-line-height: $line-height-base !default;
9 | //
10 | //$modal-content-bg: #fff !default;
11 | //$modal-content-border-color: rgba(0,0,0,.2) !default;
12 | //
13 | //$modal-backdrop-bg: #000 !default;
14 | $modal-backdrop-opacity: .26 !default; // .5
15 | //$modal-header-border-color: #e5e5e5 !default;
16 | //$modal-footer-border-color: $modal-header-border-color !default;
17 | //
18 | //$modal-lg: 900px !default;
19 | //$modal-md: 600px !default;
20 | //$modal-sm: 300px !default;
21 |
22 | $transition-ease-in: ease-in !default;
23 | $transition-ease-out: ease-out !default;
24 | $ultra-fast-transition-time: 60ms !default;
25 | $navbar-padding-a: 10px 15px;
26 | $padding-zero: 0px !default;
27 | $sidebar-width: calc(100% - 260px) !default;
28 | $sidebar-mini-width: calc(100% - 80px) !default;
29 | $topbar-back: topbar-back !default;
30 | $bottombar-back: bottombar-back !default;
31 | $topbar-x: topbar-x !default;
32 | $bottombar-x: bottombar-x !default;
33 | $margin-bottom: 0 0 10px 0 !default;
34 | $margin-base-vertical: 15px !default;
35 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/variables/_pagination.scss:
--------------------------------------------------------------------------------
1 | $pagination-border-width: 0;
2 | $pagination-bg: transparent;
3 | $pagination-disabled-bg: transparent;
4 |
5 | $pagination-padding-x-lg: 0;
6 | $pagination-padding-x-sm: 0;
7 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/variables/_shadow.scss:
--------------------------------------------------------------------------------
1 | // Shadows (originally from mdl http://www.getmdl.io/)
2 | $bmd-shadow-umbra-opacity: 0.2 !default;
3 | $bmd-shadow-penumbra-opacity: 0.14 !default;
4 | $bmd-shadow-ambient-opacity: 0.12 !default;
5 |
6 | // Declare the following for reuse with both mixins and the bootstrap variables
7 | $bmd-shadow-focus: 0 0 8px rgba($black, .18), 0 8px 16px rgba($black, .36);
8 |
9 | $bmd-shadow-2dp: 0 2px 2px 0 rgba($black, $bmd-shadow-penumbra-opacity),
10 | 0 3px 1px -2px rgba($black, $bmd-shadow-umbra-opacity),
11 | 0 1px 5px 0 rgba($black, $bmd-shadow-ambient-opacity);
12 |
13 | $bmd-shadow-3dp: 0 3px 4px 0 rgba($black, $bmd-shadow-penumbra-opacity),
14 | 0 3px 3px -2px rgba($black, $bmd-shadow-umbra-opacity),
15 | 0 1px 8px 0 rgba($black, $bmd-shadow-ambient-opacity);
16 |
17 | $bmd-shadow-4dp: 0 4px 5px 0 rgba($black, $bmd-shadow-penumbra-opacity),
18 | 0 1px 10px 0 rgba($black, $bmd-shadow-ambient-opacity),
19 | 0 2px 4px -1px rgba($black, $bmd-shadow-umbra-opacity);
20 |
21 | $bmd-shadow-6dp: 0 6px 10px 0 rgba($black, $bmd-shadow-penumbra-opacity),
22 | 0 1px 18px 0 rgba($black, $bmd-shadow-ambient-opacity),
23 | 0 3px 5px -1px rgba($black, $bmd-shadow-umbra-opacity);
24 |
25 | $bmd-shadow-8dp: 0 8px 10px 1px rgba($black, $bmd-shadow-penumbra-opacity),
26 | 0 3px 14px 2px rgba($black, $bmd-shadow-ambient-opacity),
27 | 0 5px 5px -3px rgba($black, $bmd-shadow-umbra-opacity);
28 |
29 | $bmd-shadow-16dp: 0 16px 24px 2px rgba($black, $bmd-shadow-penumbra-opacity),
30 | 0 6px 30px 5px rgba($black, $bmd-shadow-ambient-opacity),
31 | 0 8px 10px -5px rgba($black, $bmd-shadow-umbra-opacity);
32 |
33 | $bmd-shadow-24dp: 0 9px 46px 8px rgba($black, $bmd-shadow-penumbra-opacity),
34 | 0 11px 15px -7px rgba($black, $bmd-shadow-ambient-opacity),
35 | 0 24px 38px 3px rgba($black, $bmd-shadow-umbra-opacity);
36 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/variables/_snackbar.scss:
--------------------------------------------------------------------------------
1 | $bmd-snackbar-bg: #323232 !default;
2 | $bmd-snackbar-color: #fff !default;
3 | $bmd-snackbar-min-width: 280px !default;
4 | $bmd-snackbar-padding: .8rem 1.5rem !default;
5 |
6 | $bmd-snackbar-min-width-sm: 100% !default;
7 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/variables/_spacing.scss:
--------------------------------------------------------------------------------
1 | // Spacing
2 | //
3 | // Control the default styling of most Bootstrap elements by modifying these
4 | // variables. Mostly focused on spacing.
5 |
6 | $spacer: 1rem !default; // $form-group-margin-bottom uses $spacer-y. Decided to try this globally and see how it works out.
7 | //$spacer-x: $spacer !default;
8 | //$spacer-y: $spacer !default;
9 | //$spacers: (
10 | // 0: (
11 | // x: 0,
12 | // y: 0
13 | // ),
14 | // 1: (
15 | // x: $spacer-x,
16 | // y: $spacer-y
17 | // ),
18 | // 2: (
19 | // x: ($spacer-x * 1.5),
20 | // y: ($spacer-y * 1.5)
21 | // ),
22 | // 3: (
23 | // x: ($spacer-x * 3),
24 | // y: ($spacer-y * 3)
25 | // )
26 | //) !default;
27 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/variables/_state.scss:
--------------------------------------------------------------------------------
1 | // Form states and alerts
2 | //
3 | // Define colors for form feedback states and, by default, alerts.
4 | $state-success-text: $bmd-inverse !default;
5 | $state-success-bg: $brand-success !default;
6 |
7 | $state-info-text: $bmd-inverse !default;
8 | $state-info-bg: $brand-info !default;
9 |
10 | $state-warning-text: $bmd-inverse !default;
11 | $state-warning-bg: $brand-warning !default;
12 |
13 | $state-danger-text: $bmd-inverse !default;
14 | $state-danger-bg: $brand-danger !default;
15 |
16 | $state-rose-bg: $brand-rose !default;
17 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/variables/_tables.scss:
--------------------------------------------------------------------------------
1 | $table-bg-accent: rgba(#000, .03);
2 | $table-border-color: rgba(#000, .06);
3 | $table-bg-hover: rgba(#000, .02); // Grey 100 (on white background)
4 |
5 | $bmd-table-header-font-size: .95rem;
6 | $bmd-table-border-color-inverse: rgba(#fff, .06);
7 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/scss/material-dashboard/variables/_tooltip.scss:
--------------------------------------------------------------------------------
1 | $tooltip-bg: rgba($grey-700, .9);
2 |
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/static/vendor/countdowntime/countdowntime.js:
--------------------------------------------------------------------------------
1 | (function ($) {
2 | "use strict";
3 |
4 | function getTimeRemaining(endtime) {
5 | var t = Date.parse(endtime) - Date.parse(new Date());
6 | var seconds = Math.floor((t / 1000) % 60);
7 | var minutes = Math.floor((t / 1000 / 60) % 60);
8 | var hours = Math.floor((t / (1000 * 60 * 60)) % 24);
9 | var days = Math.floor(t / (1000 * 60 * 60 * 24));
10 | return {
11 | 'total': t,
12 | 'days': days,
13 | 'hours': hours,
14 | 'minutes': minutes,
15 | 'seconds': seconds
16 | };
17 | }
18 |
19 | function initializeClock(id, endtime) {
20 | var daysSpan = $('.days');
21 | var hoursSpan = $('.hours');
22 | var minutesSpan = $('.minutes');
23 | var secondsSpan = $('.seconds');
24 |
25 | function updateClock() {
26 | var t = getTimeRemaining(endtime);
27 |
28 | daysSpan.html(t.days);
29 | hoursSpan.html(('0' + t.hours).slice(-2));
30 | minutesSpan.html(('0' + t.minutes).slice(-2));
31 | secondsSpan.html(('0' + t.seconds).slice(-2))
32 |
33 | if (t.total <= 0) {
34 | clearInterval(timeinterval);
35 | }
36 | }
37 |
38 | updateClock();
39 | var timeinterval = setInterval(updateClock, 1000);
40 | }
41 |
42 | var deadline = new Date(Date.parse(new Date()) + 25 * 24 * 60 * 60 * 1000 + 13 * 60 * 60 * 1000);
43 | initializeClock('clockdiv', deadline);
44 |
45 | })(jQuery);
--------------------------------------------------------------------------------
/BLOX/Examples/NotHotdog/templates/2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
--------------------------------------------------------------------------------
/BLOX/Loss/MaskedLoss.py:
--------------------------------------------------------------------------------
1 |
2 |
3 | import torch
4 | from torch import nn
5 | class MaskedLoss(nn.Module):
6 |
7 | def forward(self,inputs,targets,mask):
8 | nTotal = mask.sum()
9 | crossEntropy = -torch.log(torch.gather(inputs, 1, targets.view(-1, 1)).squeeze(1))
10 | loss = crossEntropy.masked_select(mask).mean()
11 | loss = loss.to(device)
12 | return loss, nTotal.item()
13 |
--------------------------------------------------------------------------------
/BLOX/Loss/SmoothedCrossEntropy.py:
--------------------------------------------------------------------------------
1 |
2 |
3 | import torch
4 | # from torch.nn.modules.loss import _WeightedLoss
5 | from torch import nn
6 | from torch.nn import functional as F
7 |
8 | class SmoothedCrossEntropyLoss(nn.Module):
9 | '''
10 |
11 | '''
12 |
13 | def __init__(self,alpha=.154,reduce=True):
14 | super(SmoothedCrossEntropy,self).__init__()
15 | self.a = alpha
16 | self.reduce = reduce
17 | self.dist = nn.Softmax()
18 |
19 | def forward(self,inputs, targets):
20 | inputs = self.dist(inputs)
21 | out = torch.diag(inputs[:,targets]) * ((1.-self.a) + (self.a/float(inputs.size()[-1])))
22 | return -torch.mean(torch.log(out)) if self.reduce else -torch.log(out)
23 |
24 |
--------------------------------------------------------------------------------
/BLOX/Loss/SmoothedCrossEntropyLoss.py:
--------------------------------------------------------------------------------
1 |
2 |
3 | import torch
4 | # from torch.nn.modules.loss import _WeightedLoss
5 | from torch import nn
6 | from torch.nn import functional as F
7 | from BLOX.Modules.Sparsemax import Sparsemax
8 | class SmoothedCrossEntropyLoss(nn.Module):
9 | '''
10 |
11 | '''
12 |
13 | def __init__(self,alpha=.154,reduce=True):
14 | super(SmoothedCrossEntropyLoss,self).__init__()
15 | self.a = alpha
16 | self.reduce = reduce
17 | self.dist = nn.Softmax(dim=-1)
18 |
19 | def forward(self,inputs, targets):
20 | inputs = self.dist(inputs)
21 | t = torch.ones_like(inputs)
22 | out = torch.diag(t[:,targets]) * ((1.-self.a) + (self.a/float(inputs.size()[-1])))
23 | return -torch.sum( inputs * torch.log(out - inputs)) if self.reduce else -torch.log(out)
24 |
--------------------------------------------------------------------------------
/BLOX/Loss/__init__.py:
--------------------------------------------------------------------------------
1 | from .SmoothedCrossEntropyLoss import SmoothedCrossEntropyLoss
--------------------------------------------------------------------------------
/BLOX/Modules/Concat.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 | """
4 | Copyright (c) 2019, Linear Labs Technologies
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 | You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | """
19 | from torch import nn
20 | import torch
21 | class Concat(nn.Module):
22 | def __init__(self,axis=-1):
23 | super(Concat,self).__init__()
24 | self.axis=axis
25 | def __call__(self,x):
26 | return torch.cat( x,dim=self.axis)
--------------------------------------------------------------------------------
/BLOX/Modules/EfficientNet.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 | """
4 | Copyright (c) 2019, Linear Labs Technologies
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 | You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | """
19 |
20 | from efficientnet_pytorch import EfficientNet as EN
21 | import torch
22 | from torch import nn
23 | class EfficientNet(nn.Module):
24 | '''wrapper around effecient net '''
25 | def __init__(self,mtype='efficientnet-b0'):
26 | super(EfficientNet,self).__init__()
27 | self.model = EN.from_pretrained(mtype)
28 | if torch.cuda.is_available():self.model.cuda()
29 | else:self.model.cpu()
30 | def forward(self,x):return self.model(x)
--------------------------------------------------------------------------------
/BLOX/Modules/EfficientNetBody.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 | """
4 | Copyright (c) 2019, Linear Labs Technologies
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 | You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | """
19 |
20 | from efficientnet_pytorch import EfficientNet
21 | import torch
22 | from torch import nn
23 |
24 | class EfficientNetBody(nn.Module):
25 | def __init__(self,mtype='efficientnet-b0'):
26 | super(EfficientNetBody,self).__init__()
27 | self.model = EfficientNet.from_pretrained(mtype)
28 | if torch.cuda.is_available():self.model.cuda()
29 | else:self.model.cpu()
30 |
31 | def forward(self,x):
32 | x = self.model.extract_features(x)
33 | return x
--------------------------------------------------------------------------------
/BLOX/Modules/EncoderCNN.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 | """
4 | Copyright (c) 2019, Linear Labs Technologies
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 | You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | """
19 | import torchvision.models as models
20 | from torch import nn
21 | import torch
22 | class EncoderCNN(nn.Module):
23 | def __init__(self, embed_size,model_type="resenet-50"):
24 | """
25 | Load the pretrained net and replace top fc layer.
26 | """
27 | super(EncoderCNN, self).__init__()
28 | resnet = getattr(models,model_type)(pretrained=True)
29 | modules = list(resnet.children())[:-1] # delete the last fc layer.
30 | self.resnet = nn.Sequential(*modules)
31 | self.linear = nn.Linear(resnet.fc.in_features, embed_size)
32 | self.bn = nn.BatchNorm1d(embed_size, momentum=0.01)
33 |
34 | def forward(self, images):
35 | """
36 | Extract feature vectors from input images.
37 | """
38 | features = self.resnet(images)
39 | features = features.reshape(features.size(0), -1)
40 | try:
41 | features = self.bn(self.linear(features))
42 | except:
43 | features = self.linear(features)
44 | return features
--------------------------------------------------------------------------------
/BLOX/Modules/Flatten.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 | """
4 | Copyright (c) 2019, Linear Labs Technologies
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 | You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | """
19 | from torch import nn
20 |
21 | class Flatten(nn.Module):
22 |
23 | def __init__(self):
24 | super(Flatten,self).__init__()
25 |
26 | def __call__(self,x):
27 | return x.view(-1)
--------------------------------------------------------------------------------
/BLOX/Modules/GAIL.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Modules/GAIL.py
--------------------------------------------------------------------------------
/BLOX/Modules/GMM.py:
--------------------------------------------------------------------------------
1 |
2 | import torch,math
3 |
4 | from BLOX.Modules.Gaussian import Gaussian
5 |
6 | class GMM(torch.nn.Module):
7 | def __init__(self, pis, sigmas):
8 | super(GMM,self).__init__()
9 | self.pis = pis
10 | self.sigmas = sigmas
11 | self.mixtures = [Gaussian(0,sigma) for sigma in sigmas]
12 | if torch.cuda.is_available():
13 | for m in self.mixtures:m.cuda()
14 |
15 | def forward(self, x):
16 | probs = [ torch.exp( g(x) ) for g in self.mixtures ]
17 | return torch.log( sum([ pi*prob for pi,prob in zip(self.pis,probs) ] ) )
18 |
--------------------------------------------------------------------------------
/BLOX/Modules/GPClf.py:
--------------------------------------------------------------------------------
1 | import torch
2 | import gpytorch
3 | from gpytorch.models import AbstractVariationalGP
4 | from gpytorch.variational import CholeskyVariationalDistribution
5 | from gpytorch.variational import VariationalStrategy
6 |
7 |
8 | class GPClf(AbstractVariationalGP):
9 | def __init__(self, train_x):
10 | variational_distribution = CholeskyVariationalDistribution(train_x.size(0))
11 | variational_strategy = VariationalStrategy(self, train_x, variational_distribution)
12 | super(GPClassificationModel, self).__init__(variational_strategy)
13 | self.mean_module = gpytorch.means.ConstantMean()
14 | self.covar_module = gpytorch.kernels.ScaleKernel(gpytorch.kernels.RBFKernel())
15 |
16 | def forward(self, x):
17 | mean_x = self.mean_module(x)
18 | covar_x = self.covar_module(x)
19 | latent_pred = gpytorch.distributions.MultivariateNormal(mean_x, covar_x)
20 | return latent_pred
21 |
--------------------------------------------------------------------------------
/BLOX/Modules/Gaussian.py:
--------------------------------------------------------------------------------
1 | import torch,math
2 |
3 |
4 | class Gaussian(torch.nn.Module):
5 | def __init__(self, mu, rho):
6 | super(Gaussian,self).__init__()
7 | self.mu = torch.nn.Parameter(mu)
8 | self.rho = torch.nn.Parameter(rho)
9 | self.normal = torch.distributions.Normal(0,1)
10 |
11 | @property
12 | def sigma(self):
13 | return torch.log1p(torch.exp(self.rho))
14 |
15 | def sample(self):
16 | epsilon = self.normal.sample(self.rho.size()).to( 'cuda' if torch.cuda.is_available() else 'cpu' )
17 | return self.mu + self.sigma * epsilon
18 |
19 | def forward(self, x):
20 | return (-math.log(math.sqrt(2 * 3.14156))
21 | - torch.log(self.sigma)
22 | - ((x - self.mu) ** 2) / (2 * self.sigma ** 2)).sum()
--------------------------------------------------------------------------------
/BLOX/Modules/Jsonify.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 | """
4 | Copyright (c) 2019, Linear Labs Technologies
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 | You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | """
19 | import torch,numpy
20 |
21 |
22 | class Jsonify:
23 | '''
24 | easily convert data to json serializable format
25 | '''
26 |
27 | def __init__(self):pass
28 |
29 | def __call__(self,x):
30 | def handle_data(data):
31 | if isinstance(data,(torch.Tensor,numpy.ndarray) ):return data.tolist()
32 | elif isinstance(data,dict):return dict(
33 | zip(
34 | data.keys(),
35 | [handle_data(v) for v in data.values() ]
36 | )
37 | )
38 | elif isinstance(data,(list,tuple) ): return [ handle_data(v) for v in data]
39 | return data
40 | return handle_data(x)
--------------------------------------------------------------------------------
/BLOX/Modules/PlaceHolder.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 | """
4 | Copyright (c) 2019, Linear Labs Technologies
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 | You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | """
19 | from torch import nn
20 | op_table = {
21 | '*':'__mul__',
22 | '/':'__div__',
23 | '+':'__add__',
24 | '-':'__sub__'
25 | }
26 | class PlaceHolder(nn.Module):
27 | X = None
28 | gate = True
29 | op = ''
30 | def __init__(self,operator='+'):
31 | super(PlaceHolder,self).__init__()
32 | self.op = operator
33 |
34 | def __call__(self,X):
35 | self.gate = not self.gate
36 | if not self.gate:
37 | self.X = X.clone()
38 | return X
39 | else:
40 | Y = self.X
41 | self.X = None
42 | return getattr(X,op_table[self.op])(Y) if self.op in op_table else Y
43 |
--------------------------------------------------------------------------------
/BLOX/Modules/Recurrence.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 | """
4 | Copyright (c) 2019, Linear Labs Technologies
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 | You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | """
19 | from torch import nn
20 | import torch
21 |
22 | class Recurrence(nn.Module):
23 | '''
24 | This is meant for RNN integration in BLOX
25 | '''
26 |
27 | def __init__(self):
28 | super(Recurrence,self).__init__()
29 |
30 | def __call__(self,x):
31 | (y,h) = x
32 | # return (y).squeeze(1)
33 | # y = y.view(len(y), -1)
34 | # print(y.size())
35 | return y
36 |
--------------------------------------------------------------------------------
/BLOX/Modules/ReplayMemory.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 | """
4 | Copyright (c) 2019, Linear Labs Technologies
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 | You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | """
19 |
20 | import random
21 | from collections import namedtuple
22 | from itertools import count
23 | Transition = namedtuple('Transition',
24 | ('state', 'action', 'next_state', 'reward'))
25 | class ReplayMemory(object):
26 |
27 | '''
28 | Impl of memory module for reinforcement learning
29 | '''
30 |
31 | def __init__(self, capacity):
32 | self.capacity = capacity
33 | self.memory = []
34 | self.position = 0
35 |
36 | def push(self, *args):
37 | """Saves a transition."""
38 | if len(self.memory) < self.capacity:
39 | self.memory.append(None)
40 | self.memory[self.position] = Transition(*args)
41 | self.position = (self.position + 1) % self.capacity
42 |
43 | def sample(self, batch_size):
44 | return random.sample(self.memory, batch_size)
45 |
46 | def __len__(self):
47 | return len(self.memory)
48 |
49 | def clear(self):
50 | self.memory = []
51 | self.position = 0
52 |
53 | def reset(self):
54 | self.clear()
55 |
--------------------------------------------------------------------------------
/BLOX/Modules/ResBlock.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 | """
4 | Copyright (c) 2019, Linear Labs Technologies
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 | You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | """
19 | import numpy as np
20 | import torch
21 | import torch.nn as nn
22 |
23 | def conv3x3(in_planes, out_planes, stride=1):
24 | """3x3 convolution with padding"""
25 | return nn.Conv2d(in_planes, out_planes, kernel_size=3, stride=stride, padding=1, bias=False)
26 |
27 |
28 | def conv1x1(in_planes, out_planes, stride=1):
29 | """1x1 convolution"""
30 | return nn.Conv2d(in_planes, out_planes, kernel_size=1, stride=stride, bias=False)
31 |
32 | def norm(dim):
33 | return nn.GroupNorm(min(32, dim), dim)
34 |
35 | class ResBlock(nn.Module):
36 | ''' simple impl of a residual block '''
37 | expansion = 1
38 |
39 | def __init__(self, inplanes=64, planes=64, stride=1, downsample=None):
40 | super(ResBlock, self).__init__()
41 | self.norm1 = norm(inplanes)
42 | self.relu = nn.ReLU(inplace=True)
43 | self.downsample = downsample
44 | self.conv1 = conv3x3(inplanes, planes, stride)
45 | self.norm2 = norm(planes)
46 | self.conv2 = conv3x3(planes, planes)
47 |
48 | def forward(self, x):
49 | shortcut = x
50 |
51 | out = self.relu(self.norm1(x))
52 |
53 | if self.downsample is not None:
54 | shortcut = self.downsample(out)
55 |
56 | out = self.conv1(out)
57 | out = self.norm2(out)
58 | out = self.relu(out)
59 | out = self.conv2(out)
60 | return out + shortcut
--------------------------------------------------------------------------------
/BLOX/Modules/Reshape.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 | """
4 | Copyright (c) 2019, Linear Labs Technologies
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 | You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | """
19 | from torch import nn
20 |
21 | class Reshape(nn.Module):
22 |
23 | def __init__(self,shape):
24 | super(Reshape,self).__init__()
25 | self.shape = shape
26 |
27 | def __call__(self,X):
28 | return x.view(self.shape)
--------------------------------------------------------------------------------
/BLOX/Modules/__init__.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 | """
4 | Copyright (c) 2019, Linear Labs Technologies
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 | You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | """
19 | from os import listdir
20 | from os.path import dirname, basename
21 | from . import *
22 | __all__ = [basename(f)[:-3] for f in listdir(dirname(__file__)) if f[-3:] == ".py" and not f.endswith("__init__.py")]
23 | # print(__all__)
--------------------------------------------------------------------------------
/BLOX/RabbitMQ/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/RabbitMQ/__init__.py
--------------------------------------------------------------------------------
/BLOX/Server/__init__.py:
--------------------------------------------------------------------------------
1 | from .app import create_app,register_endpoint
--------------------------------------------------------------------------------
/BLOX/Server/settings.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/BLOX/Server/settings.py
--------------------------------------------------------------------------------
/BLOX/__init__.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 | """
4 | Copyright (c) 2019, Linear Labs Technologies
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 | You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | """
19 | from .DataSet import DataSet
20 | from .Common.Compiler import Compile
21 | from .Core.Trainer import Trainer
22 | from .Core.Tester import Tester
23 | from .Core.PipeLine import PipeLine,Pipe
24 | from .RabbitMQ.Client import Client
25 | from .Modules import *
26 | __version__ = '0.0.1'
27 | __author__ = 'Ted Troxell'
28 | __copyright__ = 'Copyright 2019, Linear Labs Technologies'
29 | __license__ = 'Apache 2.0'
--------------------------------------------------------------------------------
/__init__.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 | """
4 | Copyright (c) 2019, Linear Labs Technologies
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 | You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | """
19 | from .DataSet import DataSet
20 | from .Common.Compiler import Compile
21 | from .Core.Trainer import Trainer
22 | from .Core.PipeLine import PipeLine,Pipe
23 | from .RabbitMQ.Client import Client
24 | from .Modules import *
25 | __version__ = '0.0.1'
26 | __author__ = 'Ted Troxell'
27 | __copyright__ = 'Copyright 2019, Linear Labs Technologies'
28 | __license__ = 'Apache 2.0'
--------------------------------------------------------------------------------
/add2blx:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Copyright (c) 2019, Linear Labs Technologies
3 |
4 | # Licensed under the Apache License, Version 2.0 (the "License");
5 | # you may not use this file except in compliance with the License.
6 | # You may obtain a copy of the License at
7 |
8 | # http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | # Unless required by applicable law or agreed to in writing, software
11 | # distributed under the License is distributed on an "AS IS" BASIS,
12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | # See the License for the specific language governing permissions and
14 | # limitations under the License.
15 | cp -rf $1 /usr/local/lib/python3.6/dist-packages/`l /usr/local/lib/python3.*/dist-packages/ | grep BLOX`/Modules/
--------------------------------------------------------------------------------
/img/BLOX.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/img/BLOX.png
--------------------------------------------------------------------------------
/img/construction.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linearlabstech/blox/6a5c8a28fcfcb17731be89939284e7ac13a047d7/img/construction.png
--------------------------------------------------------------------------------
/install.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Copyright (c) 2019, Linear Labs Technologies
4 |
5 | # Licensed under the Apache License, Version 2.0 (the "License");
6 | # you may not use this file except in compliance with the License.
7 | # You may obtain a copy of the License at
8 |
9 | # http://www.apache.org/licenses/LICENSE-2.0
10 |
11 | # Unless required by applicable law or agreed to in writing, software
12 | # distributed under the License is distributed on an "AS IS" BASIS,
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | # See the License for the specific language governing permissions and
15 | # limitations under the License.
16 |
17 | python3 setup.py install
18 | chmod +x add2blx
19 | cp add2blx /bin/
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | torch
2 | torchtext
3 | torchvision
4 | numpy
5 | yajl
6 | pillow
7 | tensorboardx
--------------------------------------------------------------------------------
/setup.cfg:
--------------------------------------------------------------------------------
1 | [metadata]
2 | description-file = README.md
3 |
4 | [easy_install]
5 |
6 |
--------------------------------------------------------------------------------
/setup.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # -*- coding: utf-8 -*-
3 | """
4 | Copyright (c) 2019, Linear Labs Technologies
5 |
6 | Licensed under the Apache License, Version 2.0 (the "License");
7 | you may not use this file except in compliance with the License.
8 | You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing, software
13 | distributed under the License is distributed on an "AS IS" BASIS,
14 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | See the License for the specific language governing permissions and
16 | limitations under the License.
17 |
18 | """
19 | from setuptools import find_packages, setup,command
20 | with open("README.md", "r") as fp:
21 | long_description = fp.read()
22 |
23 | with open('requirements.txt','r') as fp:
24 | requirements = [l.strip() for l in fp.readlines()]
25 | # class install(command.install.install):
26 | # def run(self):
27 | # command.install.install.run(self)
28 |
29 | p = find_packages()
30 | setup(
31 | name="BLOX",
32 | packages=p,
33 | scripts=['blox' ],
34 | description="Neural Network building blocks. A simple and extensible wrapper around pytorch",
35 | long_description=long_description,
36 | # long_description_content_type="text/markdown",
37 | url="https://linearlabs.io",
38 | author="Ted Troxell",
39 | # cmdclass={'install':install},
40 | zip_safe=False,
41 | install_requires=requirements, # some cannot be installed via easy_install and will need to do it in install script
42 | )
--------------------------------------------------------------------------------