ilog 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+ }