├── db.sqlite3
├── search
├── __init__.py
├── migrations
│ └── __init__.py
├── models.py
├── tests.py
├── admin.py
├── apps.py
├── __pycache__
│ ├── urls.cpython-37.pyc
│ ├── views.cpython-37.pyc
│ └── __init__.cpython-37.pyc
├── urls.py
└── views.py
├── runtime.txt
├── gingdictionary
├── __init__.py
├── __pycache__
│ ├── urls.cpython-37.pyc
│ ├── wsgi.cpython-37.pyc
│ ├── __init__.cpython-37.pyc
│ └── settings.cpython-37.pyc
├── asgi.py
├── wsgi.py
├── urls.py
└── settings.py
├── Procfile
├── static
├── assets
│ ├── scss
│ │ ├── bootstrap
│ │ │ ├── scss
│ │ │ │ ├── utilities
│ │ │ │ │ ├── _clearfix.scss
│ │ │ │ │ ├── _overflow.scss
│ │ │ │ │ ├── _screenreaders.scss
│ │ │ │ │ ├── _visibility.scss
│ │ │ │ │ ├── _shadows.scss
│ │ │ │ │ ├── _float.scss
│ │ │ │ │ ├── _align.scss
│ │ │ │ │ ├── _background.scss
│ │ │ │ │ ├── _stretched-link.scss
│ │ │ │ │ ├── _sizing.scss
│ │ │ │ │ ├── _position.scss
│ │ │ │ │ ├── _display.scss
│ │ │ │ │ ├── _embed.scss
│ │ │ │ │ ├── _borders.scss
│ │ │ │ │ ├── _text.scss
│ │ │ │ │ ├── _spacing.scss
│ │ │ │ │ └── _flex.scss
│ │ │ │ ├── _media.scss
│ │ │ │ ├── mixins
│ │ │ │ │ ├── _clearfix.scss
│ │ │ │ │ ├── _size.scss
│ │ │ │ │ ├── _lists.scss
│ │ │ │ │ ├── _text-truncate.scss
│ │ │ │ │ ├── _visibility.scss
│ │ │ │ │ ├── _resize.scss
│ │ │ │ │ ├── _alert.scss
│ │ │ │ │ ├── _nav-divider.scss
│ │ │ │ │ ├── _text-hide.scss
│ │ │ │ │ ├── _badge.scss
│ │ │ │ │ ├── _transition.scss
│ │ │ │ │ ├── _text-emphasis.scss
│ │ │ │ │ ├── _float.scss
│ │ │ │ │ ├── _list-group.scss
│ │ │ │ │ ├── _reset-text.scss
│ │ │ │ │ ├── _pagination.scss
│ │ │ │ │ ├── _background-variant.scss
│ │ │ │ │ ├── _box-shadow.scss
│ │ │ │ │ ├── _deprecate.scss
│ │ │ │ │ ├── _screen-reader.scss
│ │ │ │ │ ├── _hover.scss
│ │ │ │ │ ├── _table-row.scss
│ │ │ │ │ ├── _image.scss
│ │ │ │ │ ├── _border-radius.scss
│ │ │ │ │ ├── _caret.scss
│ │ │ │ │ ├── _grid.scss
│ │ │ │ │ ├── _grid-framework.scss
│ │ │ │ │ ├── _gradients.scss
│ │ │ │ │ ├── _buttons.scss
│ │ │ │ │ └── _breakpoints.scss
│ │ │ │ ├── _transitions.scss
│ │ │ │ ├── bootstrap-reboot.scss
│ │ │ │ ├── _jumbotron.scss
│ │ │ │ ├── _utilities.scss
│ │ │ │ ├── _root.scss
│ │ │ │ ├── bootstrap-grid.scss
│ │ │ │ ├── bootstrap.scss
│ │ │ │ ├── _close.scss
│ │ │ │ ├── _toasts.scss
│ │ │ │ ├── _code.scss
│ │ │ │ ├── _grid.scss
│ │ │ │ ├── _progress.scss
│ │ │ │ ├── _mixins.scss
│ │ │ │ ├── _spinners.scss
│ │ │ │ ├── _images.scss
│ │ │ │ ├── _badge.scss
│ │ │ │ ├── _alert.scss
│ │ │ │ ├── _breadcrumb.scss
│ │ │ │ ├── _pagination.scss
│ │ │ │ ├── _nav.scss
│ │ │ │ ├── _type.scss
│ │ │ │ ├── _functions.scss
│ │ │ │ ├── _tooltip.scss
│ │ │ │ ├── _buttons.scss
│ │ │ │ ├── _print.scss
│ │ │ │ ├── _button-group.scss
│ │ │ │ ├── _tables.scss
│ │ │ │ ├── _list-group.scss
│ │ │ │ └── _dropdown.scss
│ │ │ └── js
│ │ │ │ ├── tests
│ │ │ │ ├── integration
│ │ │ │ │ ├── bundle.js
│ │ │ │ │ ├── rollup.bundle.js
│ │ │ │ │ └── index.html
│ │ │ │ ├── unit
│ │ │ │ │ ├── .eslintrc.json
│ │ │ │ │ └── alert.js
│ │ │ │ ├── browsers.js
│ │ │ │ ├── visual
│ │ │ │ │ ├── popover.html
│ │ │ │ │ ├── toast.html
│ │ │ │ │ ├── alert.html
│ │ │ │ │ ├── carousel.html
│ │ │ │ │ └── button.html
│ │ │ │ ├── README.md
│ │ │ │ ├── karma.conf.js
│ │ │ │ └── index.html
│ │ │ │ ├── dist
│ │ │ │ ├── index.js
│ │ │ │ └── index.js.map
│ │ │ │ └── src
│ │ │ │ ├── index.js
│ │ │ │ ├── alert.js
│ │ │ │ ├── button.js
│ │ │ │ └── popover.js
│ │ ├── theme
│ │ │ ├── styles.scss
│ │ │ ├── _about.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── _responsive.scss
│ │ │ ├── _blog.scss
│ │ │ ├── _demo.scss
│ │ │ └── _base.scss
│ │ ├── theme-2.scss
│ │ ├── theme-1.scss
│ │ ├── theme-3.scss
│ │ ├── theme-4.scss
│ │ ├── theme-5.scss
│ │ ├── theme-6.scss
│ │ ├── theme-7.scss
│ │ └── theme-8.scss
│ ├── images
│ │ ├── profile.png
│ │ ├── about-me.jpg
│ │ ├── dictionary.jpg
│ │ ├── promo-banner.jpg
│ │ ├── logo-free - Copy.png
│ │ └── blog
│ │ │ ├── blog-post-banner.jpg
│ │ │ ├── blog-post-thumb-1.jpg
│ │ │ ├── blog-post-thumb-2.jpg
│ │ │ ├── blog-post-thumb-3.jpg
│ │ │ ├── blog-post-thumb-4.jpg
│ │ │ ├── blog-post-thumb-5.jpg
│ │ │ ├── blog-post-thumb-6.jpg
│ │ │ ├── blog-post-thumb-7.jpg
│ │ │ ├── blog-post-thumb-8.jpg
│ │ │ ├── blog-post-thumb-9.jpg
│ │ │ ├── blog-post-thumb-10.jpg
│ │ │ ├── blog-post-thumb-11.jpg
│ │ │ └── blog-post-thumb-12.jpg
│ └── js
│ │ ├── blog.js
│ │ └── demo
│ │ └── style-switcher.js
└── favicon.ico
├── README.md
├── requirements.txt
├── manage.py
└── templates
└── word.htm
/db.sqlite3:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/search/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/runtime.txt:
--------------------------------------------------------------------------------
1 | python-3.7.4
--------------------------------------------------------------------------------
/gingdictionary/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/search/migrations/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Procfile:
--------------------------------------------------------------------------------
1 | web: gunicorn gingdictionary.wsgi:application --log-file -
--------------------------------------------------------------------------------
/search/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/search/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/search/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/utilities/_clearfix.scss:
--------------------------------------------------------------------------------
1 | .clearfix {
2 | @include clearfix();
3 | }
4 |
--------------------------------------------------------------------------------
/static/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/static/favicon.ico
--------------------------------------------------------------------------------
/search/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class SearchConfig(AppConfig):
5 | name = 'search'
6 |
--------------------------------------------------------------------------------
/static/assets/images/profile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/static/assets/images/profile.png
--------------------------------------------------------------------------------
/static/assets/images/about-me.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/static/assets/images/about-me.jpg
--------------------------------------------------------------------------------
/static/assets/images/dictionary.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/static/assets/images/dictionary.jpg
--------------------------------------------------------------------------------
/static/assets/images/promo-banner.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/static/assets/images/promo-banner.jpg
--------------------------------------------------------------------------------
/search/__pycache__/urls.cpython-37.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/search/__pycache__/urls.cpython-37.pyc
--------------------------------------------------------------------------------
/search/__pycache__/views.cpython-37.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/search/__pycache__/views.cpython-37.pyc
--------------------------------------------------------------------------------
/search/__pycache__/__init__.cpython-37.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/search/__pycache__/__init__.cpython-37.pyc
--------------------------------------------------------------------------------
/static/assets/images/logo-free - Copy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/static/assets/images/logo-free - Copy.png
--------------------------------------------------------------------------------
/gingdictionary/__pycache__/urls.cpython-37.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/gingdictionary/__pycache__/urls.cpython-37.pyc
--------------------------------------------------------------------------------
/gingdictionary/__pycache__/wsgi.cpython-37.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/gingdictionary/__pycache__/wsgi.cpython-37.pyc
--------------------------------------------------------------------------------
/static/assets/images/blog/blog-post-banner.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/static/assets/images/blog/blog-post-banner.jpg
--------------------------------------------------------------------------------
/static/assets/images/blog/blog-post-thumb-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/static/assets/images/blog/blog-post-thumb-1.jpg
--------------------------------------------------------------------------------
/static/assets/images/blog/blog-post-thumb-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/static/assets/images/blog/blog-post-thumb-2.jpg
--------------------------------------------------------------------------------
/static/assets/images/blog/blog-post-thumb-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/static/assets/images/blog/blog-post-thumb-3.jpg
--------------------------------------------------------------------------------
/static/assets/images/blog/blog-post-thumb-4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/static/assets/images/blog/blog-post-thumb-4.jpg
--------------------------------------------------------------------------------
/static/assets/images/blog/blog-post-thumb-5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/static/assets/images/blog/blog-post-thumb-5.jpg
--------------------------------------------------------------------------------
/static/assets/images/blog/blog-post-thumb-6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/static/assets/images/blog/blog-post-thumb-6.jpg
--------------------------------------------------------------------------------
/static/assets/images/blog/blog-post-thumb-7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/static/assets/images/blog/blog-post-thumb-7.jpg
--------------------------------------------------------------------------------
/static/assets/images/blog/blog-post-thumb-8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/static/assets/images/blog/blog-post-thumb-8.jpg
--------------------------------------------------------------------------------
/static/assets/images/blog/blog-post-thumb-9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/static/assets/images/blog/blog-post-thumb-9.jpg
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/_media.scss:
--------------------------------------------------------------------------------
1 | .media {
2 | display: flex;
3 | align-items: flex-start;
4 | }
5 |
6 | .media-body {
7 | flex: 1;
8 | }
9 |
--------------------------------------------------------------------------------
/gingdictionary/__pycache__/__init__.cpython-37.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/gingdictionary/__pycache__/__init__.cpython-37.pyc
--------------------------------------------------------------------------------
/gingdictionary/__pycache__/settings.cpython-37.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/gingdictionary/__pycache__/settings.cpython-37.pyc
--------------------------------------------------------------------------------
/static/assets/images/blog/blog-post-thumb-10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/static/assets/images/blog/blog-post-thumb-10.jpg
--------------------------------------------------------------------------------
/static/assets/images/blog/blog-post-thumb-11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/static/assets/images/blog/blog-post-thumb-11.jpg
--------------------------------------------------------------------------------
/static/assets/images/blog/blog-post-thumb-12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tomitokko/onlinedjangodictionary/HEAD/static/assets/images/blog/blog-post-thumb-12.jpg
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/mixins/_clearfix.scss:
--------------------------------------------------------------------------------
1 | @mixin clearfix() {
2 | &::after {
3 | display: block;
4 | clear: both;
5 | content: "";
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/search/urls.py:
--------------------------------------------------------------------------------
1 | from django.urls import path
2 | from . import views
3 |
4 | urlpatterns = [
5 | path('', views.index, name='index'),
6 | path('word', views.word, name='word'),
7 | ]
8 |
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/utilities/_overflow.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | @each $value in $overflows {
4 | .overflow-#{$value} { overflow: $value !important; }
5 | }
6 |
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/mixins/_size.scss:
--------------------------------------------------------------------------------
1 | // Sizing shortcuts
2 |
3 | @mixin size($width, $height: $width) {
4 | width: $width;
5 | height: $height;
6 | @include deprecate("`size()`", "v4.3.0", "v5");
7 | }
8 |
--------------------------------------------------------------------------------
/static/assets/scss/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 |
--------------------------------------------------------------------------------
/static/assets/scss/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 |
--------------------------------------------------------------------------------
/static/assets/scss/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 |
--------------------------------------------------------------------------------
/static/assets/js/blog.js:
--------------------------------------------------------------------------------
1 | $(document).ready(function() {
2 |
3 | /* ======= Highlight.js Plugin ======= */
4 | /* Ref: https://highlightjs.org/usage/ */
5 | $('pre code').each(function(i, block) {
6 | hljs.highlightBlock(block);
7 | });
8 |
9 | });
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/mixins/_visibility.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | // Visibility
4 |
5 | @mixin invisible($visibility) {
6 | visibility: $visibility !important;
7 | @include deprecate("`invisible()`", "v4.3.0", "v5");
8 | }
9 |
--------------------------------------------------------------------------------
/static/assets/scss/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 |
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/js/tests/integration/bundle.js:
--------------------------------------------------------------------------------
1 | import 'popper.js'
2 | import $ from 'jquery'
3 | import bootstrap from '../../../dist/js/bootstrap'
4 |
5 | $(() => {
6 | $('#resultUID').text(bootstrap.Util.getUID('bs'))
7 | $('[data-toggle="tooltip"]').tooltip()
8 | })
9 |
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/utilities/_visibility.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | //
4 | // Visibility utilities
5 | //
6 |
7 | .visible {
8 | visibility: visible !important;
9 | }
10 |
11 | .invisible {
12 | visibility: hidden !important;
13 | }
14 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # onlinedjangodictionary
2 | Source Code To My Online Dictionary Which Built With Django
3 | I built this dictionary live on youtube. You can watch the youtube video here https://youtu.be/B_6sHiUMvpc
4 | Follow the video and come back here if you need to see the source code.
5 | Happy Coding.
6 |
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/utilities/_shadows.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | .shadow-sm { box-shadow: $box-shadow-sm !important; }
4 | .shadow { box-shadow: $box-shadow !important; }
5 | .shadow-lg { box-shadow: $box-shadow-lg !important; }
6 | .shadow-none { box-shadow: none !important; }
7 |
--------------------------------------------------------------------------------
/static/assets/scss/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 |
--------------------------------------------------------------------------------
/static/assets/scss/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: $nav-divider-color, $margin-y: $nav-divider-margin-y) {
6 | height: 0;
7 | margin: $margin-y 0;
8 | overflow: hidden;
9 | border-top: 1px solid $color;
10 | }
11 |
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/_transitions.scss:
--------------------------------------------------------------------------------
1 | .fade {
2 | @include transition($transition-fade);
3 |
4 | &:not(.show) {
5 | opacity: 0;
6 | }
7 | }
8 |
9 | .collapse {
10 | &:not(.show) {
11 | display: none;
12 | }
13 | }
14 |
15 | .collapsing {
16 | position: relative;
17 | height: 0;
18 | overflow: hidden;
19 | @include transition($transition-collapse);
20 | }
21 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | asgiref==3.2.8
2 | beautifulsoup4==4.9.1
3 | bs4==0.0.1
4 | certifi==2020.4.5.2
5 | chardet==3.0.4
6 | dj-database-url==0.5.0
7 | Django==3.0.7
8 | django-heroku==0.3.1
9 | gunicorn==20.0.4
10 | idna==2.9
11 | lxml==4.5.1
12 | psycopg2==2.8.5
13 | pytz==2020.1
14 | requests==2.23.0
15 | soupsieve==2.0.1
16 | sqlparse==0.3.1
17 | urllib3==1.25.9
18 | whitenoise==5.1.0
19 | wincertstore==0.2
20 |
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/mixins/_text-hide.scss:
--------------------------------------------------------------------------------
1 | // CSS image replacement
2 | @mixin text-hide($ignore-warning: false) {
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 | @include deprecate("`text-hide()`", "v4.1.0", "v5", $ignore-warning);
11 | }
12 |
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/mixins/_badge.scss:
--------------------------------------------------------------------------------
1 | @mixin badge-variant($bg) {
2 | color: color-yiq($bg);
3 | background-color: $bg;
4 |
5 | @at-root a#{&} {
6 | @include hover-focus {
7 | color: color-yiq($bg);
8 | background-color: darken($bg, 10%);
9 | }
10 |
11 | &:focus,
12 | &.focus {
13 | outline: 0;
14 | box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5);
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/static/assets/scss/theme/styles.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * DevBlog - Bootstrap 4 Blog Template For Developers
3 | * Version: 1.1
4 | * Author: Xiaoying Riley
5 | * Copyright: 3rd Wave Media Ltd.
6 | * Website: http://themes.3rdwavemedia.com/
7 | * Twitter: @3rdwave_themes
8 | */
9 | @import "mixins";
10 | @import "base";
11 | @import "blog";
12 | @import "about";
13 | @import "responsive";
14 | @import "demo"; //REMOVE ON YOUR PRODUCTION SITE
15 |
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/utilities/_float.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | @each $breakpoint in map-keys($grid-breakpoints) {
4 | @include media-breakpoint-up($breakpoint) {
5 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
6 |
7 | .float#{$infix}-left { float: left !important; }
8 | .float#{$infix}-right { float: right !important; }
9 | .float#{$infix}-none { float: none !important; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/mixins/_transition.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable property-blacklist
2 | @mixin transition($transition...) {
3 | @if $enable-transitions {
4 | @if length($transition) == 0 {
5 | transition: $transition-base;
6 | } @else {
7 | transition: $transition;
8 | }
9 | }
10 |
11 | @if $enable-prefers-reduced-motion-media-query {
12 | @media (prefers-reduced-motion: reduce) {
13 | transition: none;
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/gingdictionary/asgi.py:
--------------------------------------------------------------------------------
1 | """
2 | ASGI config for gingdictionary project.
3 |
4 | It exposes the ASGI callable as a module-level variable named ``application``.
5 |
6 | For more information on this file, see
7 | https://docs.djangoproject.com/en/3.0/howto/deployment/asgi/
8 | """
9 |
10 | import os
11 |
12 | from django.core.asgi import get_asgi_application
13 |
14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'gingdictionary.settings')
15 |
16 | application = get_asgi_application()
17 |
--------------------------------------------------------------------------------
/gingdictionary/wsgi.py:
--------------------------------------------------------------------------------
1 | """
2 | WSGI config for gingdictionary project.
3 |
4 | It exposes the WSGI callable as a module-level variable named ``application``.
5 |
6 | For more information on this file, see
7 | https://docs.djangoproject.com/en/3.0/howto/deployment/wsgi/
8 | """
9 |
10 | import os
11 |
12 | from django.core.wsgi import get_wsgi_application
13 |
14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'gingdictionary.settings')
15 |
16 | application = get_wsgi_application()
17 |
--------------------------------------------------------------------------------
/static/assets/scss/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 | @if $emphasized-link-hover-darken-percentage != 0 {
10 | a#{$parent} {
11 | @include hover-focus {
12 | color: darken($color, $emphasized-link-hover-darken-percentage) !important;
13 | }
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/static/assets/scss/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 |
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/mixins/_float.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | @mixin float-left {
4 | float: left !important;
5 | @include deprecate("The `float-left` mixin", "v4.3.0", "v5");
6 | }
7 | @mixin float-right {
8 | float: right !important;
9 | @include deprecate("The `float-right` mixin", "v4.3.0", "v5");
10 | }
11 | @mixin float-none {
12 | float: none !important;
13 | @include deprecate("The `float-none` mixin", "v4.3.0", "v5");
14 | }
15 |
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/bootstrap-reboot.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Reboot v4.3.0 (https://getbootstrap.com/)
3 | * Copyright 2011-2019 The Bootstrap Authors
4 | * Copyright 2011-2019 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 |
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/_jumbotron.scss:
--------------------------------------------------------------------------------
1 | .jumbotron {
2 | padding: $jumbotron-padding ($jumbotron-padding / 2);
3 | margin-bottom: $jumbotron-padding;
4 | color: $jumbotron-color;
5 | background-color: $jumbotron-bg;
6 | @include border-radius($border-radius-lg);
7 |
8 | @include media-breakpoint-up(sm) {
9 | padding: ($jumbotron-padding * 2) $jumbotron-padding;
10 | }
11 | }
12 |
13 | .jumbotron-fluid {
14 | padding-right: 0;
15 | padding-left: 0;
16 | @include border-radius(0);
17 | }
18 |
--------------------------------------------------------------------------------
/static/assets/scss/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 |
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/js/tests/integration/rollup.bundle.js:
--------------------------------------------------------------------------------
1 | /* eslint-env node */
2 |
3 | const resolve = require('rollup-plugin-node-resolve')
4 | const commonjs = require('rollup-plugin-commonjs')
5 | const babel = require('rollup-plugin-babel')
6 |
7 | module.exports = {
8 | input: 'js/tests/integration/bundle.js',
9 | output: {
10 | file: 'js/coverage/bundle.js',
11 | format: 'iife'
12 | },
13 | plugins: [
14 | resolve(),
15 | commonjs(),
16 | babel({
17 | exclude: 'node_modules/**'
18 | })
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/static/assets/scss/theme/_about.scss:
--------------------------------------------------------------------------------
1 | /* ============= About Page ============= */
2 | .about-section {
3 | .heading {
4 | font-size: 2rem;
5 | }
6 | p, li {
7 | font-size: 1.125rem;
8 | line-height: 1.6;
9 | }
10 | h1 {
11 | font-size: 2.125rem;
12 | }
13 | h2 {
14 | font-size: 2rem;
15 | }
16 | h3 {
17 | font-size: 1.75rem;
18 | }
19 | h4 {
20 | font-size: 1.5rem;
21 | }
22 | h5 {
23 | font-size: 1.25rem;
24 | }
25 | h6 {
26 | font-size: 1.125rem;
27 | }
28 | }
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/utilities/_stretched-link.scss:
--------------------------------------------------------------------------------
1 | //
2 | // Stretched link
3 | //
4 |
5 | .stretched-link {
6 | &::after {
7 | position: absolute;
8 | top: 0;
9 | right: 0;
10 | bottom: 0;
11 | left: 0;
12 | z-index: 1;
13 | // Just in case `pointer-events: none` is set on a parent
14 | pointer-events: auto;
15 | content: "";
16 | // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color
17 | background-color: rgba(0, 0, 0, 0);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/static/assets/scss/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: $white;
16 | background-color: $color;
17 | border-color: $color;
18 | }
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/static/assets/scss/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;
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 |
--------------------------------------------------------------------------------
/static/assets/scss/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 | @include 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 |
--------------------------------------------------------------------------------
/static/assets/scss/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/overflow";
10 | @import "utilities/position";
11 | @import "utilities/screenreaders";
12 | @import "utilities/shadows";
13 | @import "utilities/sizing";
14 | @import "utilities/stretched-link";
15 | @import "utilities/spacing";
16 | @import "utilities/text";
17 | @import "utilities/visibility";
18 |
--------------------------------------------------------------------------------
/static/assets/scss/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 |
--------------------------------------------------------------------------------
/static/assets/scss/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 |
14 | // Viewport additional helpers
15 |
16 | .min-vw-100 { min-width: 100vw !important; }
17 | .min-vh-100 { min-height: 100vh !important; }
18 |
19 | .vw-100 { width: 100vw !important; }
20 | .vh-100 { height: 100vh !important; }
21 |
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/mixins/_box-shadow.scss:
--------------------------------------------------------------------------------
1 | @mixin box-shadow($shadow...) {
2 | @if $enable-shadows {
3 | $result: ();
4 |
5 | @if (length($shadow) == 1) {
6 | // We can pass `@include box-shadow(none);`
7 | $result: $shadow;
8 | } @else {
9 | // Filter to avoid invalid properties for example `box-shadow: none, 1px 1px black;`
10 | @for $i from 1 through length($shadow) {
11 | @if nth($shadow, $i) != "none" {
12 | $result: append($result, nth($shadow, $i), "comma");
13 | }
14 | }
15 | }
16 | @if (length($result) > 0) {
17 | box-shadow: $result;
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/utilities/_position.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | // Common values
4 | @each $position in $positions {
5 | .position-#{$position} { position: $position !important; }
6 | }
7 |
8 | // Shorthand
9 |
10 | .fixed-top {
11 | position: fixed;
12 | top: 0;
13 | right: 0;
14 | left: 0;
15 | z-index: $zindex-fixed;
16 | }
17 |
18 | .fixed-bottom {
19 | position: fixed;
20 | right: 0;
21 | bottom: 0;
22 | left: 0;
23 | z-index: $zindex-fixed;
24 | }
25 |
26 | .sticky-top {
27 | @supports (position: sticky) {
28 | position: sticky;
29 | top: 0;
30 | z-index: $zindex-sticky;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/static/assets/scss/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 | @each $value in $displays {
12 | .d#{$infix}-#{$value} { display: $value !important; }
13 | }
14 | }
15 | }
16 |
17 |
18 | //
19 | // Utilities for toggling `display` in print
20 | //
21 |
22 | @media print {
23 | @each $value in $displays {
24 | .d-print-#{$value} { display: $value !important; }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/static/assets/scss/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 |
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/mixins/_deprecate.scss:
--------------------------------------------------------------------------------
1 | // Deprecate mixin
2 | //
3 | // This mixin can be used to deprecate mixins or functions.
4 | // `$enable-deprecation-messages` is a global variable, `$ignore-warning` is a variable that can be passed to
5 | // some deprecated mixins to suppress the warning (for example if the mixin is still be used in the current version of Bootstrap)
6 | @mixin deprecate($name, $deprecate-version, $remove-version, $ignore-warning: false) {
7 | @if ($enable-deprecation-messages != false and $ignore-warning != true) {
8 | @warn "#{$name} has been deprecated as of #{$deprecate-version}. It will be removed entirely in #{$remove-version}.";
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/manage.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | """Django's command-line utility for administrative tasks."""
3 | import os
4 | import sys
5 |
6 |
7 | def main():
8 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'gingdictionary.settings')
9 | try:
10 | from django.core.management import execute_from_command_line
11 | except ImportError as exc:
12 | raise ImportError(
13 | "Couldn't import Django. Are you sure it's installed and "
14 | "available on your PYTHONPATH environment variable? Did you "
15 | "forget to activate a virtual environment?"
16 | ) from exc
17 | execute_from_command_line(sys.argv)
18 |
19 |
20 | if __name__ == '__main__':
21 | main()
22 |
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/bootstrap-grid.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Grid v4.3.0 (https://getbootstrap.com/)
3 | * Copyright 2011-2019 The Bootstrap Authors
4 | * Copyright 2011-2019 Twitter, Inc.
5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6 | */
7 |
8 | html {
9 | box-sizing: border-box;
10 | -ms-overflow-style: scrollbar;
11 | }
12 |
13 | *,
14 | *::before,
15 | *::after {
16 | box-sizing: inherit;
17 | }
18 |
19 | @import "functions";
20 | @import "variables";
21 |
22 | @import "mixins/breakpoints";
23 | @import "mixins/grid-framework";
24 | @import "mixins/grid";
25 |
26 | @import "grid";
27 | @import "utilities/display";
28 | @import "utilities/flex";
29 | @import "utilities/spacing";
30 |
--------------------------------------------------------------------------------
/static/assets/scss/theme/_mixins.scss:
--------------------------------------------------------------------------------
1 | /* ============= Theme Mixins ============= */
2 | @mixin opacity ($opacity: 0.5) {
3 | -webkit-opacity: $opacity;
4 | -moz-opacity: $opacity;
5 | opacity: $opacity;
6 | }
7 |
8 | @mixin scale ($factor) {
9 | -webkit-transform: scale($factor);
10 | -moz-transform: scale($factor);
11 | -ms-transform: scale($factor);
12 | -o-transform: scale($factor);
13 | }
14 |
15 |
16 | @mixin background-size ($string: contain) {
17 | -webkit-background-size: $string;
18 | -moz-background-size: $string;
19 | -o-background-size: $string;
20 | background-size: $string;
21 | }
22 |
23 | @mixin reset-box-sizing ($size:content-box) {
24 | &,
25 | *,
26 | *:before,
27 | *:after {
28 | -webkit-box-sizing: $size;
29 | -moz-box-sizing: $size;
30 | box-sizing: $size;
31 | }
32 | }
33 |
34 |
35 |
--------------------------------------------------------------------------------
/gingdictionary/urls.py:
--------------------------------------------------------------------------------
1 | """gingdictionary URL Configuration
2 |
3 | The `urlpatterns` list routes URLs to views. For more information please see:
4 | https://docs.djangoproject.com/en/3.0/topics/http/urls/
5 | Examples:
6 | Function views
7 | 1. Add an import: from my_app import views
8 | 2. Add a URL to urlpatterns: path('', views.home, name='home')
9 | Class-based views
10 | 1. Add an import: from other_app.views import Home
11 | 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
12 | Including another URLconf
13 | 1. Import the include() function: from django.urls import include, path
14 | 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
15 | """
16 | from django.contrib import admin
17 | from django.urls import path, include
18 |
19 | urlpatterns = [
20 | path('', include('search.urls')),
21 | path('admin/', admin.site.urls),
22 | ]
23 |
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/mixins/_screen-reader.scss:
--------------------------------------------------------------------------------
1 | // Only display content to screen readers
2 | //
3 | // See: https://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 | border: 0;
15 | }
16 |
17 | // Use in conjunction with .sr-only to only display content when it's focused.
18 | //
19 | // Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
20 | //
21 | // Credit: HTML5 Boilerplate
22 |
23 | @mixin sr-only-focusable {
24 | &:active,
25 | &:focus {
26 | position: static;
27 | width: auto;
28 | height: auto;
29 | overflow: visible;
30 | clip: auto;
31 | white-space: normal;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/static/assets/scss/bootstrap/scss/mixins/_hover.scss:
--------------------------------------------------------------------------------
1 | // Hover mixin and `$enable-hover-media-query` are deprecated.
2 | //
3 | // Originally added during our alphas and maintained during betas, this mixin was
4 | // designed to prevent `:hover` stickiness on iOS-an issue where hover styles
5 | // would persist after initial touch.
6 | //
7 | // For backward compatibility, we've kept these mixins and updated them to
8 | // always return their regular pseudo-classes instead of a shimmed media query.
9 | //
10 | // Issue: https://github.com/twbs/bootstrap/issues/25195
11 |
12 | @mixin hover {
13 | &:hover { @content; }
14 | }
15 |
16 | @mixin hover-focus {
17 | &:hover,
18 | &:focus {
19 | @content;
20 | }
21 | }
22 |
23 | @mixin plain-hover-focus {
24 | &,
25 | &:hover,
26 | &:focus {
27 | @content;
28 | }
29 | }
30 |
31 | @mixin hover-focus-active {
32 | &:hover,
33 | &:focus,
34 | &:active {
35 | @content;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/templates/word.htm:
--------------------------------------------------------------------------------
1 | {% extends 'index.htm' %}
2 | {% load static %}
3 |
4 | {% block title %}{{ results.word | title }} | Definition of {{ results.word | title }} by Ging Dictionary{% endblock %}
5 | {% block img %}
{% endblock %}
6 | {% block content %}
7 |
11 | Meaning: {{results.meaning}} 12 |
13 |15 | Synonyms: 16 | {% for s in se %} 17 | {{s}}, 18 | {% endfor %} 19 |
20 |22 | Antonyms: 23 | {% for a in ae %} 24 | {{a}}, 25 | {% endfor %} 26 |
27 |