ilog 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +6 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +7 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +44 -0
  9. data/Rakefile +6 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +8 -0
  12. data/ilog.gemspec +29 -0
  13. data/lib/ilog/assets/favicon.ico +0 -0
  14. data/lib/ilog/assets/images/.gitkeep +0 -0
  15. data/lib/ilog/assets/javascripts/.gitkeep +0 -0
  16. data/lib/ilog/assets/javascripts/index.js +60723 -0
  17. data/lib/ilog/assets/javascripts/vue-config.js +92 -0
  18. data/lib/ilog/assets/javascripts/vue-index.js +60725 -0
  19. data/lib/ilog/assets/stylesheets/.gitkeep +0 -0
  20. data/lib/ilog/assets/stylesheets/log-style.css +3858 -0
  21. data/lib/ilog/assets/stylesheets/style.css +3858 -0
  22. data/lib/ilog/config/routes.rb +13 -0
  23. data/lib/ilog/configuration.rb +8 -0
  24. data/lib/ilog/controllers/.gitkeep +0 -0
  25. data/lib/ilog/controllers/digital/show.rb +23 -0
  26. data/lib/ilog/controllers/digital/tags.rb +15 -0
  27. data/lib/ilog/controllers/index/.DS_Store +0 -0
  28. data/lib/ilog/controllers/index/digital.rb +27 -0
  29. data/lib/ilog/controllers/index/index.rb +95 -0
  30. data/lib/ilog/controllers/platform/platform.rb +12 -0
  31. data/lib/ilog/controllers/post/post.rb +12 -0
  32. data/lib/ilog/models/item.rb +5 -0
  33. data/lib/ilog/models/post.rb +9 -0
  34. data/lib/ilog/models/stuff.rb +8 -0
  35. data/lib/ilog/templates/application.html.erb +11 -0
  36. data/lib/ilog/templates/digital/show.html.erb +0 -0
  37. data/lib/ilog/templates/digital/tags.html.erb +0 -0
  38. data/lib/ilog/templates/index/digital.html.erb +40 -0
  39. data/lib/ilog/templates/index/index.html.haml +10 -0
  40. data/lib/ilog/templates/index/vue.html.erb +0 -0
  41. data/lib/ilog/templates/platform/platform.html.erb +0 -0
  42. data/lib/ilog/templates/post/post.html.erb +0 -0
  43. data/lib/ilog/version.rb +3 -0
  44. data/lib/ilog/views/application_layout.rb +7 -0
  45. data/lib/ilog/views/digital/show.rb +9 -0
  46. data/lib/ilog/views/digital/tags.rb +9 -0
  47. data/lib/ilog/views/index/.DS_Store +0 -0
  48. data/lib/ilog/views/index/digital.rb +10 -0
  49. data/lib/ilog/views/index/index.rb +10 -0
  50. data/lib/ilog/views/platform/platform.rb +9 -0
  51. data/lib/ilog/views/post/post.rb +9 -0
  52. data/lib/ilog.rb +331 -0
  53. data/mix-manifest.json +5 -0
  54. data/package.json +40 -0
  55. data/src/js/vue-config.js +7 -0
  56. data/src/sass/.DS_Store +0 -0
  57. data/src/sass/_variables.scss +3 -0
  58. data/src/sass/components/.DS_Store +0 -0
  59. data/src/sass/components/article-text.scss +223 -0
  60. data/src/sass/components/card.scss +33 -0
  61. data/src/sass/components/post.scss +5 -0
  62. data/src/sass/components/selectize.scss +324 -0
  63. data/src/sass/components/single.scss +80 -0
  64. data/src/sass/components/tag.scss +46 -0
  65. data/src/sass/fonts/headings.scss +105 -0
  66. data/src/sass/fonts/pure.scss +29 -0
  67. data/src/sass/libs/selectize.scss +8 -0
  68. data/src/sass/log/.DS_Store +0 -0
  69. data/src/sass/log/base.scss +132 -0
  70. data/src/sass/log/grid.scss +82 -0
  71. data/src/sass/log/instagram-header.scss +123 -0
  72. data/src/sass/log/list.scss +242 -0
  73. data/src/sass/log/style.scss +3 -0
  74. data/src/sass/log/treestyle-addons.scss +102 -0
  75. data/src/sass/log/treestyle.scss +163 -0
  76. data/src/sass/style.scss +28 -0
  77. data/src/vue/Log.vue +257 -0
  78. data/src/vue/components/.DS_Store +0 -0
  79. data/src/vue/components/Item.vue +46 -0
  80. data/src/vue/components/Modal.vue +27 -0
  81. data/src/vue/components/Post.vue +125 -0
  82. data/src/vue/components/PostBody.vue +86 -0
  83. data/src/vue/components/Stuff.vue +63 -0
  84. data/src/vue/configs/app.js +5 -0
  85. data/src/vue/configs/axios.js +14 -0
  86. data/src/vue/elements/People.vue +75 -0
  87. data/src/vue/elements/Profile.vue +63 -0
  88. data/src/vue/elements/Tunekit.vue +82 -0
  89. data/src/vue/index.js +30 -0
  90. data/src/vue/router.js +50 -0
  91. data/src/vue/views/.DS_Store +0 -0
  92. data/src/vue/views/Introduction.vue +88 -0
  93. data/src/vue/views/List.vue +46 -0
  94. data/src/vue/views/Post.vue +163 -0
  95. data/webpack.mix.js +6 -0
  96. metadata +141 -0
data/lib/ilog.rb ADDED
@@ -0,0 +1,331 @@
1
+ require "ilog/version"
2
+
3
+ require 'hanami/helpers'
4
+ require 'hanami/assets'
5
+
6
+ require 'ilog/configuration'
7
+
8
+ Gem.find_files('iatelier/models/*.rb').each {|file| require file }
9
+
10
+ module Ilog
11
+ # class Error < StandardError; end
12
+ # Your code goes here...
13
+
14
+ class << self
15
+ attr_accessor :configuration
16
+ end
17
+
18
+ def self.configure
19
+ self.configuration ||= Configuration.new
20
+ yield(configuration)
21
+ end
22
+
23
+ class Application < Hanami::Application
24
+ configure do
25
+ ##
26
+ # BASIC
27
+ #
28
+
29
+ # Define the root path of this application.
30
+ # All paths specified in this configuration are relative to path below.
31
+ #
32
+ root __dir__
33
+
34
+ # Relative load paths where this application will recursively load the
35
+ # code.
36
+ #
37
+ # When you add new directories, remember to add them here.
38
+ #
39
+ load_paths << [
40
+ 'ilog/controllers',
41
+ 'ilog/views'
42
+ ]
43
+
44
+ # Handle exceptions with HTTP statuses (true) or don't catch them (false).
45
+ # Defaults to true.
46
+ # See: http://www.rubydoc.info/gems/hanami-controller/#Exceptions_management
47
+ #
48
+ # handle_exceptions true
49
+
50
+ ##
51
+ # HTTP
52
+ #
53
+
54
+ # Routes definitions for this application
55
+ # See: http://www.rubydoc.info/gems/hanami-router#Usage
56
+ #
57
+ routes 'ilog/config/routes'
58
+
59
+ # URI scheme used by the routing system to generate absolute URLs
60
+ # Defaults to "http"
61
+ #
62
+ # scheme 'https'
63
+
64
+ # URI host used by the routing system to generate absolute URLs
65
+ # Defaults to "localhost"
66
+ #
67
+ # host 'example.org'
68
+
69
+ # URI port used by the routing system to generate absolute URLs
70
+ # Argument: An object coercible to integer, defaults to 80 if the scheme
71
+ # is http and 443 if it's https
72
+ #
73
+ # This should only be configured if app listens to non-standard ports
74
+ #
75
+ # port 443
76
+
77
+ # Enable cookies
78
+ # Argument: boolean to toggle the feature
79
+ # A Hash with options
80
+ #
81
+ # Options:
82
+ # :domain - The domain (String - nil by default, not required)
83
+ # :path - Restrict cookies to a relative URI
84
+ # (String - nil by default)
85
+ # :max_age - Cookies expiration expressed in seconds
86
+ # (Integer - nil by default)
87
+ # :secure - Restrict cookies to secure connections
88
+ # (Boolean - Automatically true when using HTTPS)
89
+ # See #scheme and #ssl?
90
+ # :httponly - Prevent JavaScript access (Boolean - true by default)
91
+ #
92
+ # cookies true
93
+ # or
94
+ # cookies max_age: 300
95
+
96
+ # Enable sessions
97
+ # Argument: Symbol the Rack session adapter
98
+ # A Hash with options
99
+ #
100
+ # See: http://www.rubydoc.info/gems/rack/Rack/Session/Cookie
101
+ #
102
+ # sessions :cookie, secret: ENV['LOG_SESSIONS_SECRET']
103
+
104
+ # Configure Rack middleware for this application
105
+ #
106
+ # middleware.use Rack::Protection
107
+
108
+ # Default format for the requests that don't specify an HTTP_ACCEPT header
109
+ # Argument: A symbol representation of a mime type, defaults to :html
110
+ #
111
+ # default_request_format :html
112
+
113
+ # Default format for responses that don't consider the request format
114
+ # Argument: A symbol representation of a mime type, defaults to :html
115
+ #
116
+ # default_response_format :html
117
+
118
+ ##
119
+ # TEMPLATES
120
+ #
121
+
122
+ # The layout to be used by all views
123
+ #
124
+ layout :application # It will load Ilog::Views::ApplicationLayout
125
+
126
+ # The relative path to templates
127
+ #
128
+ templates 'ilog/templates'
129
+
130
+ ##
131
+ # ASSETS
132
+ #
133
+ assets do
134
+ # JavaScript compressor
135
+ #
136
+ # Supported engines:
137
+ #
138
+ # * :builtin
139
+ # * :uglifier
140
+ # * :yui
141
+ # * :closure
142
+ #
143
+ # See: https://guides.hanamirb.org/assets/compressors
144
+ #
145
+ # In order to skip JavaScript compression comment the following line
146
+ javascript_compressor :builtin
147
+
148
+ # Stylesheet compressor
149
+ #
150
+ # Supported engines:
151
+ #
152
+ # * :builtin
153
+ # * :yui
154
+ # * :sass
155
+ #
156
+ # See: https://guides.hanamirb.org/assets/compressors
157
+ #
158
+ # In order to skip stylesheet compression comment the following line
159
+ stylesheet_compressor :builtin
160
+
161
+ # Specify sources for assets
162
+ #
163
+ sources << [
164
+ 'ilog/assets'
165
+ ]
166
+ end
167
+
168
+ ##
169
+ # SECURITY
170
+ #
171
+
172
+ # X-Frame-Options is a HTTP header supported by modern browsers.
173
+ # It determines if a web page can or cannot be included via <frame> and
174
+ # <iframe> tags by untrusted domains.
175
+ #
176
+ # Web applications can send this header to prevent Clickjacking attacks.
177
+ #
178
+ # Read more at:
179
+ #
180
+ # * https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options
181
+ # * https://www.owasp.org/index.php/Clickjacking
182
+ #
183
+ security.x_frame_options 'DENY'
184
+
185
+ # X-Content-Type-Options prevents browsers from interpreting files as
186
+ # something else than declared by the content type in the HTTP headers.
187
+ #
188
+ # Read more at:
189
+ #
190
+ # * https://www.owasp.org/index.php/OWASP_Secure_Headers_Project#X-Content-Type-Options
191
+ # * https://msdn.microsoft.com/en-us/library/gg622941%28v=vs.85%29.aspx
192
+ # * https://blogs.msdn.microsoft.com/ie/2008/09/02/ie8-security-part-vi-beta-2-update
193
+ #
194
+ security.x_content_type_options 'nosniff'
195
+
196
+ # X-XSS-Protection is a HTTP header to determine the behavior of the
197
+ # browser in case an XSS attack is detected.
198
+ #
199
+ # Read more at:
200
+ #
201
+ # * https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)
202
+ # * https://www.owasp.org/index.php/OWASP_Secure_Headers_Project#X-XSS-Protection
203
+ #
204
+ security.x_xss_protection '1; mode=block'
205
+
206
+ # Content-Security-Policy (CSP) is a HTTP header supported by modern
207
+ # browsers. It determines trusted sources of execution for dynamic
208
+ # contents (JavaScript) or other web related assets: stylesheets, images,
209
+ # fonts, plugins, etc.
210
+ #
211
+ # Web applications can send this header to mitigate Cross Site Scripting
212
+ # (XSS) attacks.
213
+ #
214
+ # The default value allows images, scripts, AJAX, fonts and CSS from the
215
+ # same origin, and does not allow any other resources to load (eg object,
216
+ # frame, media, etc).
217
+ #
218
+ # Inline JavaScript is NOT allowed. To enable it, please use:
219
+ # "script-src 'unsafe-inline'".
220
+ #
221
+ # Content Security Policy introduction:
222
+ #
223
+ # * http://www.html5rocks.com/en/tutorials/security/content-security-policy/
224
+ # * https://www.owasp.org/index.php/Content_Security_Policy
225
+ # * https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29
226
+ #
227
+ # Inline and eval JavaScript risks:
228
+ #
229
+ # * http://www.html5rocks.com/en/tutorials/security/content-security-policy/#inline-code-considered-harmful
230
+ # * http://www.html5rocks.com/en/tutorials/security/content-security-policy/#eval-too
231
+ #
232
+ # Content Security Policy usage:
233
+ #
234
+ # * http://content-security-policy.com/
235
+ # * https://developer.mozilla.org/en-US/docs/Web/Security/CSP/Using_Content_Security_Policy
236
+ #
237
+ # Content Security Policy references:
238
+ #
239
+ # * https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directives
240
+ #
241
+ security.content_security_policy %{
242
+ form-action 'self';
243
+ frame-ancestors 'self';
244
+ base-uri 'self';
245
+ default-src 'none';
246
+ script-src 'self' 'unsafe-eval' 'unsafe-inline';
247
+ connect-src 'self' galacticvisions.xyz;
248
+ img-src 'self' https: data:;
249
+ style-src 'self' 'unsafe-inline' https:;
250
+ font-src 'self';
251
+ object-src 'none';
252
+ plugin-types application/pdf;
253
+ child-src 'self';
254
+ frame-src 'self';
255
+ media-src 'self';
256
+ }
257
+
258
+ ##
259
+ # FRAMEWORKS
260
+ #
261
+
262
+ # Configure the code that will yield each time Ilog::Action is included
263
+ # This is useful for sharing common functionality
264
+ #
265
+ # See: http://www.rubydoc.info/gems/hanami-controller#Configuration
266
+ controller.prepare do
267
+ # include MyAuthentication # included in all the actions
268
+ # before :authenticate! # run an authentication before callback
269
+ end
270
+
271
+ # Configure the code that will yield each time Ilog::View is included
272
+ # This is useful for sharing common functionality
273
+ #
274
+ # See: http://www.rubydoc.info/gems/hanami-view#Configuration
275
+ view.prepare do
276
+ include Hanami::Helpers
277
+ include Ilog::Assets::Helpers
278
+ end
279
+ end
280
+
281
+ ##
282
+ # DEVELOPMENT
283
+ #
284
+ configure :development do
285
+ # Don't handle exceptions, render the stack trace
286
+ handle_exceptions false
287
+ end
288
+
289
+ ##
290
+ # TEST
291
+ #
292
+ configure :test do
293
+ # Don't handle exceptions, render the stack trace
294
+ handle_exceptions false
295
+ end
296
+
297
+ ##
298
+ # PRODUCTION
299
+ #
300
+ configure :production do
301
+ # scheme 'https'
302
+ # host 'example.org'
303
+ # port 443
304
+
305
+ assets do
306
+ # Don't compile static assets in production mode (eg. Sass, ES6)
307
+ #
308
+ # See: http://www.rubydoc.info/gems/hanami-assets#Configuration
309
+ compile false
310
+
311
+ # Use fingerprint file name for asset paths
312
+ #
313
+ # See: https://guides.hanamirb.org/assets/overview
314
+ fingerprint true
315
+
316
+ # Content Delivery Network (CDN)
317
+ #
318
+ # See: https://guides.hanamirb.org/assets/content-delivery-network
319
+ #
320
+ # scheme 'https'
321
+ # host 'cdn.example.org'
322
+ # port 443
323
+
324
+ # Subresource Integrity
325
+ #
326
+ # See: https://guides.hanamirb.org/assets/content-delivery-network/#subresource-integrity
327
+ subresource_integrity :sha256
328
+ end
329
+ end
330
+ end
331
+ end
data/mix-manifest.json ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "/assets/javascripts/vue-index.js": "/assets/javascripts/vue-index.js",
3
+ "/assets/stylesheets/log-style.css": "/assets/stylesheets/log-style.css",
4
+ "/assets/javascripts/vue-config.js": "/assets/javascripts/vue-config.js"
5
+ }
data/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "private": true,
3
+ "scripts": {
4
+ "dev": "NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
5
+ "watch": "NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
6
+ "hot": "NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
7
+ "production": "NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
8
+ },
9
+ "devDependencies": {
10
+ "axios": "^0.19.0",
11
+ "babel-core": "^6.26.3",
12
+ "babel-loader": "^7.1.5",
13
+ "babel-preset-env": "^1.7.0",
14
+ "font-awesome": "^4.7.0",
15
+ "jquery": "^3.4.1",
16
+ "laravel-mix": "^0.8.9",
17
+ "lodash": "^4.17.11",
18
+ "vue-template-compiler": "^2.6.10"
19
+ },
20
+ "dependencies": {
21
+ "@piratesatelier/css-ordinary": "^2.3.0",
22
+ "imagesloaded": "^4.1.4",
23
+ "jquery-bridget": "^2.0.1",
24
+ "jquery-smooth-scroll": "^2.2.0",
25
+ "masonry-layout": "^4.2.2",
26
+ "microplugin": "0.0.3",
27
+ "moment": "^2.24.0",
28
+ "purecss": "^0.6.2",
29
+ "selectize": "^0.12.6",
30
+ "sifter": "^0.5.3",
31
+ "sticky-kit": "^1.1.3",
32
+ "underscore": "^1.9.1",
33
+ "vue": "^2.6.10",
34
+ "vue-loader": "^13.7.3",
35
+ "vue-masonry": "^0.10.17",
36
+ "vue-meta": "^2.0.3",
37
+ "vue-multiselect": "2.0.8",
38
+ "vue-router": "^2.8.1"
39
+ }
40
+ }
@@ -0,0 +1,7 @@
1
+ Window.Config = {
2
+ "host":"http://localhost:2300",
3
+ "title":"My Blog",
4
+ "profile":{"avatar":"","author":"","status":"","website":"","email":"","location":""},
5
+ "digital":{"uri":"log"},
6
+ "analog":{"uri":"weblog"},
7
+ };
Binary file
@@ -0,0 +1,3 @@
1
+ $third-color: #333;
2
+ $third-color-n: white;
3
+ $fourth-color: red;
Binary file
@@ -0,0 +1,223 @@
1
+ p {
2
+ padding: 0.4rem 0px;
3
+ }
4
+ * > p:last-child {
5
+ padding-bottom: 0px;
6
+ }
7
+
8
+ article ul, article ol, .article ul {
9
+ margin: 1rem 0px;
10
+ padding-left: 1rem;
11
+ }
12
+ article ul > li, article ol > li, .article ul > li {
13
+ margin-top: 4px;
14
+ margin-bottom: 4px;
15
+ }
16
+ @media screen and (min-width: 768px) {
17
+ article ul, article ol {
18
+ padding-left: 32px;
19
+ }
20
+ article ul {
21
+ list-style: disc;
22
+ }
23
+ }
24
+
25
+ blockquote {
26
+ box-sizing: border-box;
27
+ margin-top: 4px;
28
+ margin-bottom: 4px;
29
+ padding: 4px 1.2rem 4px 1.2rem;
30
+ border-left: 4px solid rgba(90, 130, 170, 0.5);
31
+ /* background-color: rgba(90, 130, 170, 0.3);*/
32
+ overflow: auto;
33
+ font-family: 'lora',;
34
+ }
35
+ blockquote.sl {
36
+ border-left: none;
37
+ border-right: 4px solid rgba(90, 130, 170, 0.5);
38
+ /* background-color: rgba(90, 130, 170, 0.3);*/
39
+ margin-bottom: 4px;
40
+ overflow: auto;
41
+ }
42
+ blockquote.highlight {
43
+ font-size: 1.1em;
44
+ /* 20px / 16px */
45
+ line-height: 1.1;
46
+ /* 25px / 20px */
47
+ border-left: 4px solid rgba(255, 245, 25, 0.8);
48
+ /* background-color: rgba(255, 245, 25, 0.2);*/
49
+ font-weight: 500;
50
+ }
51
+ blockquote > footer {
52
+ color: gray;
53
+ }
54
+ blockquote > footer > p {
55
+ }
56
+
57
+ @media (min-width: 43.75em) {
58
+ blockquote.highlight {
59
+ font-size: 1.25em;
60
+ /* 24px / 16px = */
61
+ line-height: 1.25;
62
+ /* 35px / 24px */
63
+ }
64
+ }
65
+
66
+
67
+ article.text {
68
+ padding: 0px;
69
+ padding-top: 12px;
70
+ padding-bottom: 12px;
71
+ }
72
+ article.text h1, article.text h2, article.text h3, article.text h4, article.text h5, article.text h6 {
73
+ margin-bottom: 0px;
74
+ }
75
+ article.text > *, article.text > figure > figcaption > * {
76
+ margin-left: auto;
77
+ margin-right: auto;
78
+ width: calc(100% - 2rem);
79
+ max-width: 40rem;
80
+ text-align: left;
81
+ }
82
+ article.text > hr {
83
+ margin-top: 2rem;
84
+ margin-bottom: 2rem;
85
+ width: calc(100% - 10rem);
86
+ }
87
+ article.text > figure > figcaption > footer {
88
+ font-style: italic;
89
+ }
90
+ article.text > blockquote {
91
+ margin-top: 0.5rem;
92
+ margin-bottom: 0.5rem;
93
+ padding-top: 0px;
94
+ padding-bottom: 0px;
95
+ }
96
+ article.text > *:first-child {
97
+ margin-top: 0px;
98
+ }
99
+ article.text > *:last-child {
100
+ /* margin-bottom: 0px; */
101
+ }
102
+ article.text p {
103
+ text-indent: 0px;
104
+ }
105
+ article.text p + p {
106
+ text-indent: 1em;
107
+ }
108
+ article.text > blockquote p {
109
+ text-indent: 1rem;
110
+ }
111
+ @media screen and (min-width: 35.5em) {
112
+ article.text {
113
+ padding-top: 18px;
114
+ padding-bottom: 18px;
115
+ }
116
+ article.text > * {
117
+ width: calc(100% - 2.5rem);
118
+ }
119
+ }
120
+ @media screen and (min-width: 48em) {
121
+ article.text > * {
122
+ width: calc(100% - 3rem);
123
+ }
124
+
125
+ }
126
+ @media screen and (min-width: 64em) {
127
+ article.text {
128
+ padding-top: 1.5rem;
129
+ padding-bottom: 24px;
130
+ }
131
+ article.text > * {
132
+ width: calc(100% - 4rem);
133
+ }
134
+
135
+ }
136
+ @media screen and (min-width: 80em) {
137
+ article.text {
138
+ padding-top: 2.5rem;
139
+ }
140
+ article.text > * {
141
+ width: calc(100% - 5rem);
142
+ }
143
+
144
+ }
145
+ article.text > footer, div.footnotes {
146
+ border-top: 3px solid rgba(90, 130, 170, 0.3);
147
+ padding-top: 4px;
148
+ }
149
+ div.footnotes > hr {
150
+ display: none;
151
+ }
152
+ article.text > footer > .links {
153
+ margin: 4px 0px;
154
+ border: 1px solid rgba(90, 130, 170, 1);
155
+ background-color: rgba(90, 130, 170, 0.1);
156
+ }
157
+ article.text > footer > .links ul,li {
158
+ margin: 0px;
159
+ padding: 0px;
160
+ }
161
+ article.text > footer > p {
162
+ text-indent: 0px;
163
+ }
164
+
165
+
166
+ article.text > img {
167
+ display: block;
168
+ margin-left: 0rem;
169
+ width: auto;
170
+ max-width: 100%;
171
+ }
172
+ article.text > figure {
173
+ margin: 0px;
174
+ max-width: 100%;
175
+ width: 100%;
176
+ // text-align: center;
177
+ }
178
+ article.text video {
179
+ max-width: 100%;
180
+ }
181
+ article.text > figure > figcaption {
182
+ font-size: 0.9em;
183
+ font-family: "Lora";
184
+ }
185
+ article.text > .video-container, article.text > .video-wrapper {
186
+ width: 100%;
187
+ max-width: 100%;
188
+ }
189
+ article.text > .video-container > video {
190
+ width: 100%;
191
+ }
192
+ article img.feature {
193
+ display: block;
194
+ margin-left: auto;
195
+ margin-right:auto;
196
+ max-height: 120vh;
197
+ max-width: 100%;
198
+ border-radius: 15px;
199
+ }
200
+ @media screen and (min-width: 768px) {
201
+ article img.feature {
202
+ width: 70%;
203
+ margin: 0px 0px 12px 12px;
204
+ }
205
+ article img.right {
206
+ float: right;
207
+ }
208
+ }
209
+ @media screen and (min-width: 980px) {
210
+ article img.feature {
211
+ width: 60%;
212
+ }
213
+ }
214
+
215
+ article.text > figure {
216
+ margin: 0px;
217
+ padding: 0px;
218
+ }
219
+ article.text > figure > figcaption {
220
+ font-size: 0.9em;
221
+ color: dimgrey;
222
+ text-align: center;
223
+ }
@@ -0,0 +1,33 @@
1
+ .blog-timeline-content {
2
+
3
+ padding: 0px;
4
+
5
+ border-radius: .4rem;
6
+ border: .2rem solid rgba($second-color, 1);
7
+
8
+ box-shadow: 0px 0px .4rem rgba(0, 0, 0, .5);
9
+
10
+ &:hover {
11
+ box-shadow: 0px 0px .4rem rgba(0, 0, 0, .8);
12
+ border: .2rem solid rgba($second-color, 1) !important;
13
+ }
14
+
15
+ > .thumbnail {
16
+ margin: 0px;
17
+ margin-top: -1px;
18
+
19
+ border-radius-top-right: .4rem;
20
+ border-radius-top-left: .4rem;
21
+ box-shadow: 0px 0px .1rem rgba(0, 0, 0, .5);
22
+
23
+ width: 100%;
24
+ height: 30vh;
25
+
26
+ background-size: cover;
27
+ background-position: center;
28
+ background-repeat: no-repeat;
29
+ }
30
+ > h3 {
31
+ padding: .5rem;
32
+ }
33
+ }
@@ -0,0 +1,5 @@
1
+ .blog-timeline-content .blog-aside {
2
+ }
3
+ .blog-timeline-content .blog-aside {
4
+ display: inline-block;
5
+ }