aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--content/2016-10-14-how-we-destroyed-development.md1
-rw-r--r--content/2017-01-12-gce-aws-docker-digitalocean.md1
-rw-r--r--content/2017-03-07-golang-profiling-simplified.md1
-rw-r--r--content/2017-04-10-what-its-like-to-be-a-software-developer.md1
-rw-r--r--content/2017-04-17-what-i-ve-learned-developing-ad-server.md1
-rw-r--r--content/2017-04-21-profiling-python-web-applications-with-visual-tools.md1
-rw-r--r--content/2017-08-11-simple-iot.md1
-rw-r--r--content/2018-01-16-using-digitalocean-spaces-object-storage-with-fuse.md1
-rw-r--r--content/2018-08-05-the-bullshit-web-developments-pov.md1
-rw-r--r--content/2019-01-03-encoding-binary-data-into-dna-sequence.md1
-rw-r--r--content/2019-05-11-bci.md71
-rw-r--r--content/files/bci/spike-waves.pngbin0 -> 1037764 bytes
-rw-r--r--gulpfile.js2
-rw-r--r--source/assets/default.css58
-rw-r--r--source/layouts/draft.njk61
-rw-r--r--source/layouts/footer.njk2
-rw-r--r--source/layouts/index.njk41
-rw-r--r--source/layouts/navigation.njk6
19 files changed, 222 insertions, 30 deletions
diff --git a/.gitignore b/.gitignore
index 2788dfb..7cd54a8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@ tmp/
3package-lock.json 3package-lock.json
4.firebase/ 4.firebase/
5public/ 5public/
6.DS_Store
diff --git a/content/2016-10-14-how-we-destroyed-development.md b/content/2016-10-14-how-we-destroyed-development.md
index cd48eec..25ad46f 100644
--- a/content/2016-10-14-how-we-destroyed-development.md
+++ b/content/2016-10-14-how-we-destroyed-development.md
@@ -3,6 +3,7 @@ layout: post
3title: How we successfully destroyed the joy of product development 3title: How we successfully destroyed the joy of product development
4description: My take on project development. 4description: My take on project development.
5slug: how-we-successfully-destroyed-the-joy-of-product-development 5slug: how-we-successfully-destroyed-the-joy-of-product-development
6type: note
6date: 2016-10-14 7date: 2016-10-14
7--- 8---
8 9
diff --git a/content/2017-01-12-gce-aws-docker-digitalocean.md b/content/2017-01-12-gce-aws-docker-digitalocean.md
index 79dfb70..cd6811c 100644
--- a/content/2017-01-12-gce-aws-docker-digitalocean.md
+++ b/content/2017-01-12-gce-aws-docker-digitalocean.md
@@ -3,6 +3,7 @@ layout: post
3title: GCE, AWS, Docker and why I choose classic VM’s and DigitalOcean for my current project 3title: GCE, AWS, Docker and why I choose classic VM’s and DigitalOcean for my current project
4description: Reasons why I choose DigitalOcean for my project 4description: Reasons why I choose DigitalOcean for my project
5slug: gce-aws-docker-and-why-i-choose-classic-vms-and-digitalocean 5slug: gce-aws-docker-and-why-i-choose-classic-vms-and-digitalocean
6type: note
6date: 2017-01-12 7date: 2017-01-12
7--- 8---
8 9
diff --git a/content/2017-03-07-golang-profiling-simplified.md b/content/2017-03-07-golang-profiling-simplified.md
index 7e375f0..fc79020 100644
--- a/content/2017-03-07-golang-profiling-simplified.md
+++ b/content/2017-03-07-golang-profiling-simplified.md
@@ -3,6 +3,7 @@ layout: post
3title: Golang profiling simplified 3title: Golang profiling simplified
4description: Golang profiling made easy 4description: Golang profiling made easy
5slug: golang-profiling-simplified 5slug: golang-profiling-simplified
6type: note
6date: 2017-03-07 7date: 2017-03-07
7--- 8---
8 9
diff --git a/content/2017-04-10-what-its-like-to-be-a-software-developer.md b/content/2017-04-10-what-its-like-to-be-a-software-developer.md
index 2949931..c6b6010 100644
--- a/content/2017-04-10-what-its-like-to-be-a-software-developer.md
+++ b/content/2017-04-10-what-its-like-to-be-a-software-developer.md
@@ -3,6 +3,7 @@ layout: post
3title: What it's like to be a software developer 3title: What it's like to be a software developer
4description: Couple of observations regarding project management 4description: Couple of observations regarding project management
5slug: what-its-like-to-be-a-software-developer 5slug: what-its-like-to-be-a-software-developer
6type: note
6date: 2017-04-10 7date: 2017-04-10
7--- 8---
8 9
diff --git a/content/2017-04-17-what-i-ve-learned-developing-ad-server.md b/content/2017-04-17-what-i-ve-learned-developing-ad-server.md
index 77b396d..c186484 100644
--- a/content/2017-04-17-what-i-ve-learned-developing-ad-server.md
+++ b/content/2017-04-17-what-i-ve-learned-developing-ad-server.md
@@ -3,6 +3,7 @@ layout: post
3title: What I've learned developing ad server 3title: What I've learned developing ad server
4description: Lessons I learned developing contextual ad server 4description: Lessons I learned developing contextual ad server
5slug: what-i-ve-learned-developing-ad-server 5slug: what-i-ve-learned-developing-ad-server
6type: note
6date: 2017-04-17 7date: 2017-04-17
7--- 8---
8 9
diff --git a/content/2017-04-21-profiling-python-web-applications-with-visual-tools.md b/content/2017-04-21-profiling-python-web-applications-with-visual-tools.md
index 9a31cab..6e52ee0 100644
--- a/content/2017-04-21-profiling-python-web-applications-with-visual-tools.md
+++ b/content/2017-04-21-profiling-python-web-applications-with-visual-tools.md
@@ -3,6 +3,7 @@ layout: post
3title: Profiling Python web applications with visual tools 3title: Profiling Python web applications with visual tools
4description: Missing link when debugging and profiling python web applications 4description: Missing link when debugging and profiling python web applications
5slug: profiling-python-web-applications-with-visual-tools 5slug: profiling-python-web-applications-with-visual-tools
6type: note
6date: 2017-04-21 7date: 2017-04-21
7--- 8---
8 9
diff --git a/content/2017-08-11-simple-iot.md b/content/2017-08-11-simple-iot.md
index 17246ba..2eac869 100644
--- a/content/2017-08-11-simple-iot.md
+++ b/content/2017-08-11-simple-iot.md
@@ -3,6 +3,7 @@ layout: post
3title: Simple IOT application supported by real-time monitoring and data history 3title: Simple IOT application supported by real-time monitoring and data history
4description: Develop simple IOT application with Arduino MKR1000 and Python 4description: Develop simple IOT application with Arduino MKR1000 and Python
5slug: simple-iot-application 5slug: simple-iot-application
6type: note
6date: 2017-08-11 7date: 2017-08-11
7--- 8---
8 9
diff --git a/content/2018-01-16-using-digitalocean-spaces-object-storage-with-fuse.md b/content/2018-01-16-using-digitalocean-spaces-object-storage-with-fuse.md
index 6a9fbe5..f1c893a 100644
--- a/content/2018-01-16-using-digitalocean-spaces-object-storage-with-fuse.md
+++ b/content/2018-01-16-using-digitalocean-spaces-object-storage-with-fuse.md
@@ -3,6 +3,7 @@ layout: post
3title: Using DigitalOcean Spaces Object Storage with FUSE 3title: Using DigitalOcean Spaces Object Storage with FUSE
4description: Using DigitalOcean Spaces Object Storage with FUSE 4description: Using DigitalOcean Spaces Object Storage with FUSE
5slug: using-digitalocean-spaces-object-storage-with-fuse 5slug: using-digitalocean-spaces-object-storage-with-fuse
6type: research
6date: 2018-01-16 7date: 2018-01-16
7--- 8---
8 9
diff --git a/content/2018-08-05-the-bullshit-web-developments-pov.md b/content/2018-08-05-the-bullshit-web-developments-pov.md
index 46dfc19..04094c2 100644
--- a/content/2018-08-05-the-bullshit-web-developments-pov.md
+++ b/content/2018-08-05-the-bullshit-web-developments-pov.md
@@ -3,6 +3,7 @@ layout: post
3title: The Bullshit Web - Development's Point of View 3title: The Bullshit Web - Development's Point of View
4description: State of front-end development and what this does to the future of web 4description: State of front-end development and what this does to the future of web
5slug: the-bullshit-web-developments-pov 5slug: the-bullshit-web-developments-pov
6type: note
6date: 2018-08-05 7date: 2018-08-05
7--- 8---
8 9
diff --git a/content/2019-01-03-encoding-binary-data-into-dna-sequence.md b/content/2019-01-03-encoding-binary-data-into-dna-sequence.md
index b5636c1..a3bca72 100644
--- a/content/2019-01-03-encoding-binary-data-into-dna-sequence.md
+++ b/content/2019-01-03-encoding-binary-data-into-dna-sequence.md
@@ -3,6 +3,7 @@ layout: post
3title: Encoding binary data into DNA sequence 3title: Encoding binary data into DNA sequence
4description: Imagine a world where you could go outside and take a leaf from a tree and put it through your personal DNA sequencer and get data like music, videos or computer programs from it. 4description: Imagine a world where you could go outside and take a leaf from a tree and put it through your personal DNA sequencer and get data like music, videos or computer programs from it.
5slug: encoding-binary-data-into-dna-sequence 5slug: encoding-binary-data-into-dna-sequence
6type: research
6date: 2019-01-03 7date: 2019-01-03
7--- 8---
8 9
diff --git a/content/2019-05-11-bci.md b/content/2019-05-11-bci.md
new file mode 100644
index 0000000..24e9a30
--- /dev/null
+++ b/content/2019-05-11-bci.md
@@ -0,0 +1,71 @@
1---
2layout: draft
3title: BCI
4description: Imagine a world where you could go outside and take a leaf from a tree and put it through your personal DNA sequencer and get data like music, videos or computer programs from it.
5slug: bci
6type: research
7date: 2019-05-11
8---
9
10**Table of contents**
11
121. [Intefacing with Bluetooth device](#intefacing-with-bluetooth-device)
13 1. [Basic Concepts](#basic-concepts)
14 1. [Attributes](#attributes)
15 2. [Structure](#structure)
16 3. [Services](#services)
17 4. [Characteristics](#characteristics)
182. [Generic text for testing CSS styles](#generic-text-for-testing-css-styles)
193. [Resources](#resources)
20
21
22## Intefacing with Bluetooth device
23
24A Bluetooth device contains a table of data called an Attribute Table which can be accessed by other connected devices in various possible ways. That table of data and the ways in which it can be exploited falls into a technical area of Bluetooth called the Generic Attribute profile or GATT for short and you may see the term GATT in some of the documentation for APIs such as those provided by the Android platform.
25
26The Attribute Table contains something like a series of records of various types. The main types are called Services, Characteristics, and Descriptors. Let’s look at each of these terms in turn.
27
28### Basic Concepts
29
30#### Attributes
31
32Services, Characteristics and Descriptors are all types of Attribute. Hence Generic Attribute Profile, Attribute Table and something called the Attribute Protocol. All attributes have a type which is identified by a UUID (Universally Unique Identifer). Some Attributes are defined by the Bluetooth SIG, the technical standards body for Bluetooth and these have UUIDs which are 16 bits in length. Some Attributes are custom designed for a particular device by the product team and these have 128 bit UUIDs.
33
34#### Structure
35
36Services, Characteristics and Descriptors are organised in a hierarchy with Services at the top and Descriptors at the bottom. Services contain one or more Characteristics. A Characteristic owns zero or more Descriptors because Descriptors are completely optional whereas a Service must contain at least one Characteristic.
37
38#### Services
39
40A Service is a container for logically related Bluetooth data items. Those data items are in fact called Characteristics. A Service can be thought of as the owner of the Characteristics inside it. Often a Service represents a particular feature (e.g. a hardware feature) of a device like the buttons or a particular sensor. An example of a Bluetooth SIG defined Service is the Device Information Service which, as the name suggests, is a container for various items of information about the device such as its manufacturer and serial number.
41
42#### Characteristics
43
44Characteristics are items of data which relate to a particular internal state of the device or perhaps some state of the environment which the device can measure using a sensor. The current battery level is an example of internal state data whereas the ambient temperature could perhaps be measured by a sensor. Sometimes Characteristics represent configuration data such as the frequency at which you want something to be measured. In any of these cases, the way a device can expose such data to other devices to use via Bluetooth is by making them available as a Characteristic. An example of a Bluetooth SIG defined Characteristic is the Serial Number String which you’ll find inside the Device Information service.
45
46Characteristics contain various parts. They have a type, a value, some properties and some permissions.
47
48Type is something already explained above, a UUID value which indicates which particular type of Characteristic an Attribute is. Value is the value of the associated state data item.
49
50Properties define what another device can do with the characteristic over Bluetooth in terms of various defined operations such as READ, WRITE or NOTIFY. Reading a characteristic means transferring its current value from the attribute table to the connected device over Bluetooth. Writing allows the connected device to change that value in the state table. Notifications are a special message type which a device can send to a connected device whenever the value of the associated characteristic changes or perhaps periodically, controlled by a timer. Not all Characteristics support all operations. The Characteristic’s properties tell you which operations are supported.
51
52Sometimes the device will have been programmed to respond in a special way when it processes an operation like reading or writing a value from the attribute table so operations can result in more happening than simply transferring data across the connection. Perhaps changing the value of a Characteristic will result in the device changing the frequency with which it samples readings from the device accelerometer for example.
53
54Permissions are to do with security and further describe the security conditions that must be met before read or write access to the characteristic is to be granted.
55
56## Generic text for testing CSS styles
57
58Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus pulvinar finibus ipsum, vitae mattis neque elementum nec. Cras vel lacinia diam, a porttitor nisl. Sed ullamcorper convallis bibendum. Ut id lectus risus. Morbi aliquam eros condimentum volutpat pretium. Praesent malesuada congue eros, vitae mollis erat laoreet nec. Quisque porta tempus turpis a mollis. Nulla at mollis sem, at scelerisque velit. Mauris non ex lectus. Morbi eget erat interdum lacus pretium vehicula vitae ac justo. Quisque vulputate interdum semper. Duis dignissim porta magna, vel faucibus leo pulvinar at. Donec nibh purus, vestibulum vel velit a, ultricies volutpat ipsum.
59
60<img src="/files/bci/spike-waves.png">
61
62Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus pulvinar finibus ipsum, vitae mattis neque elementum nec. Cras vel lacinia diam, a porttitor nisl. Sed ullamcorper convallis bibendum. Ut id lectus risus. Morbi aliquam eros condimentum volutpat pretium. Praesent malesuada congue eros, vitae mollis erat laoreet nec. Quisque porta tempus turpis a mollis. Nulla at mollis sem, at scelerisque velit. Mauris non ex lectus. Morbi eget erat interdum lacus pretium vehicula vitae ac justo. Quisque vulputate interdum semper. Duis dignissim porta magna, vel faucibus leo pulvinar at. Donec nibh purus, vestibulum vel velit a, ultricies volutpat ipsum.
63
64<img src="http://satyr.io/1100x300/eee" class="large">
65
66Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus pulvinar finibus ipsum, vitae mattis neque elementum nec. Cras vel lacinia diam, a porttitor nisl. Sed ullamcorper convallis bibendum. Ut id lectus risus. Morbi aliquam eros condimentum volutpat pretium. Praesent malesuada congue eros, vitae mollis erat laoreet nec. Quisque porta tempus turpis a mollis. Nulla at mollis sem, at scelerisque velit. Mauris non ex lectus. Morbi eget erat interdum lacus pretium vehicula vitae ac justo. Quisque vulputate interdum semper. Duis dignissim porta magna, vel faucibus leo pulvinar at. Donec nibh purus, vestibulum vel velit a, ultricies volutpat ipsum.
67
68
69## Resources
70
71- https://www.bluetooth.com/blog/a-developers-guide-to-bluetooth/
diff --git a/content/files/bci/spike-waves.png b/content/files/bci/spike-waves.png
new file mode 100644
index 0000000..b0fc0b3
--- /dev/null
+++ b/content/files/bci/spike-waves.png
Binary files differ
diff --git a/gulpfile.js b/gulpfile.js
index 6d1b6c7..630ca1a 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -125,7 +125,7 @@ const processMarkdown = (file) => {
125 125
126 let post = nunjucks.render(`${meta.layout}.njk`, { 126 let post = nunjucks.render(`${meta.layout}.njk`, {
127 content: md.render(raw.join('')), 127 content: md.render(raw.join('')),
128 title: meta.title.substring(0, 65), 128 title: meta.title, //.substring(0, 65)
129 description: meta.description, 129 description: meta.description,
130 css: `<style>${css}</style>`, 130 css: `<style>${css}</style>`,
131 javascript: `<script>${javascript}</script>`, 131 javascript: `<script>${javascript}</script>`,
diff --git a/source/assets/default.css b/source/assets/default.css
index 8f15299..304c294 100644
--- a/source/assets/default.css
+++ b/source/assets/default.css
@@ -1,7 +1,6 @@
1@charset "utf-8"; 1@charset "utf-8";
2 2
3@import url('https://fonts.googleapis.com/css?family=Heebo:100,300,400,500,700,800,900" rel="stylesheet">'); 3@import url('https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600,700,900');
4@import url('https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600,700,900" rel="stylesheet">');
5 4
6* { 5* {
7 box-sizing: border-box; 6 box-sizing: border-box;
@@ -11,8 +10,9 @@
11} 10}
12 11
13body { 12body {
14 font-family: 'Heebo', sans-serif; 13 /*font-family: 'Heebo', sans-serif;*/
15 font-size: 18px; 14 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
15 font-size: 17px;
16 line-height: 170%; 16 line-height: 170%;
17} 17}
18 18
@@ -39,22 +39,23 @@ ol a:hover {
39 39
40h1 { 40h1 {
41 line-height: 140%; 41 line-height: 140%;
42 font-weight: 900; 42 font-weight: 600;
43 font-size: 250%; 43 font-size: 210%;
44} 44}
45 45
46h2,h3,h4,h5 { 46h2,h3,h4,h5 {
47 /*margin-top: 50px;*/ 47 /*margin-top: 50px;*/
48 font-weight: 500;
48} 49}
49 50
50img { 51img {
51 max-width: 100%; 52 max-width: 100%;
52 margin: 0 auto; 53 margin: 30px auto;
53 display: block; 54 display: block;
54} 55}
55 56
56.wrapper { 57.wrapper {
57 max-width: 750px; 58 max-width: 800px;
58 margin: 0 auto; 59 margin: 0 auto;
59} 60}
60 61
@@ -75,7 +76,7 @@ pre, code {
75} 76}
76 77
77pre { 78pre {
78 font-size: 80%; 79 font-size: 85%;
79 margin: 20px; 80 margin: 20px;
80 background: #eee; 81 background: #eee;
81} 82}
@@ -195,16 +196,15 @@ menu {
195} 196}
196 197
197menu a.logo { 198menu a.logo {
198 background: black; 199 font-weight: 600;
199 color: white;
200 font-weight: 800;
201 text-decoration: none; 200 text-decoration: none;
202 padding: 3px 15px; 201 font-size: 130%;
202 padding: 5px 0px ;
203} 203}
204 204
205menu a.logo:hover { 205menu a.logo:hover {
206 background: fuchsia; 206 /*background: fuchsia;
207 color: white; 207 color: white;*/
208} 208}
209 209
210menu nav { 210menu nav {
@@ -239,6 +239,19 @@ footer > * {
239 239
240/*************************************************************** ARTICLE LIST */ 240/*************************************************************** ARTICLE LIST */
241 241
242.list .article-list {
243 margin-bottom: 60px;
244}
245
246.list .article-list:last-child {
247 margin-bottom: 10px;
248}
249
250.list h3 {
251 font-weight: 700;
252 font-size: 140%;
253}
254
242.article-list article { 255.article-list article {
243 margin-bottom: 20px; 256 margin-bottom: 20px;
244} 257}
@@ -246,12 +259,21 @@ footer > * {
246.article-list article h2 { 259.article-list article h2 {
247 margin: 0; 260 margin: 0;
248 line-height: 150%; 261 line-height: 150%;
262 font-size: 120%;
249} 263}
250 264
251.article-list a { 265.article-list a {
252 text-decoration: none; 266 text-decoration: none;
253} 267}
254 268
269article img.large {
270 max-width: 1100px;
271 width: 1100px;
272 position: relative;
273 left: -150px;
274 margin: 50px 0;
275}
276
255/***************************************************************** RESPONSIVE */ 277/***************************************************************** RESPONSIVE */
256 278
257@media only screen and (max-width:800px) { 279@media only screen and (max-width:800px) {
@@ -270,6 +292,12 @@ footer > * {
270 footer { 292 footer {
271 text-align: center; 293 text-align: center;
272 } 294 }
295
296 article img.large {
297 position: initial;
298 width: 100%;
299 margin: 20px 0;
300 }
273} 301}
274 302
275/********************************************************************** PRINT */ 303/********************************************************************** PRINT */
diff --git a/source/layouts/draft.njk b/source/layouts/draft.njk
new file mode 100644
index 0000000..72923c9
--- /dev/null
+++ b/source/layouts/draft.njk
@@ -0,0 +1,61 @@
1<!DOCTYPE html>
2<html lang="en">
3
4<head>
5 <meta charset="utf-8">
6 <meta name="viewport" content="width=device-width, initial-scale=1.0">
7 <meta http-equiv="X-UA-Compatible" content="ie=edge">
8 <meta name="theme-color" content="#ffffff">
9
10 <meta name="google-site-verification" content="EwUGW1WlCkRIQuyQ9AE1-bLitWthw-eVMZFTAMZVZaA">
11
12 <link rel="icon" type="image/png" href="{{ vars.domain }}/files/avatar-64x64.png?ver={{ timestamp }}">
13
14 <title>{{ title }}</title>
15 <meta name="author" content="{{ vars.author }}">
16 <meta name="description" content="{{ description }}">
17
18 <meta name="og:url" content="{{ vars.domain }}/{{ slug }}">
19 <meta name="og:type" content="website">
20 <meta name="og:title" content="{{ title }}">
21 <meta name="og:description" content="{{ description }}">
22 <meta name="og:image" content="{{ vars.domain }}/files/avatar-512x512.png?ver={{ timestamp }}">
23
24 <meta name="twitter:card" content="summary">
25 <meta name="twitter:site" content="@mitjafelicijan">
26 <meta name="twitter:title" content="{{ title }}">
27 <meta name="twitter:description" content="{{ description }}">
28 <meta name="twitter:image" content="{{ vars.domain }}/files/avatar-512x512.png?ver={{ timestamp }}">
29
30 {{ css }}
31
32</head>
33
34<body>
35
36 <main class="wrapper">
37
38 {% include "navigation.njk" %}
39
40 <article>
41
42 <header>
43 <h1>{{ title }}</h1>
44 <p class="pubdate">Published on
45 <time pubdate="{{ writtenDate.original }}">{{ writtenDate.formatted }}</time>
46 by {{ vars.author }}</p>
47 </header>
48
49 {{ content|safe }}
50
51 </article>
52
53 {{ javascript }}
54
55 {% include "footer.njk" %}
56
57 </main>
58
59</body>
60
61</html>
diff --git a/source/layouts/footer.njk b/source/layouts/footer.njk
index bbb0775..a8e3aa1 100644
--- a/source/layouts/footer.njk
+++ b/source/layouts/footer.njk
@@ -1,5 +1,5 @@
1<footer> 1<footer>
2 <span>© 2012-{{ currentYear }}</span> 2 <span>© 2010-{{ currentYear }}</span>
3 <a href="/curriculum-vitae">Curriculum Vitae</a> 3 <a href="/curriculum-vitae">Curriculum Vitae</a>
4 <a href="//github.com/mitjafelicijan" target="_blank" rel="noopener nofollow">Github</a> 4 <a href="//github.com/mitjafelicijan" target="_blank" rel="noopener nofollow">Github</a>
5 <a href="//twitter.com/mitjafelicijan" target="_blank" rel="noopener nofollow">Twitter</a> 5 <a href="//twitter.com/mitjafelicijan" target="_blank" rel="noopener nofollow">Twitter</a>
diff --git a/source/layouts/index.njk b/source/layouts/index.njk
index 9784155..c4912a7 100644
--- a/source/layouts/index.njk
+++ b/source/layouts/index.njk
@@ -37,16 +37,37 @@
37 37
38 {% include "navigation.njk" %} 38 {% include "navigation.njk" %}
39 39
40 <nav class="article-list"> 40 <div class="list">
41 {% for post in posts %} 41
42 <article> 42 <h3>Research</h3>
43 <a href="/{{ post.slug }}"> 43 <nav class="article-list">
44 <time pubdate="{{ post.dateOriginal }}" class="pubdate">{{ post.dateFormatted }}</time> 44 {% for post in posts %}
45 <h2>{{ post.title }}</h2> 45 {% if post.type == "research" %}
46 </a> 46 <article>
47 </article> 47 <a href="/{{ post.slug }}" aria-label="Read more about {{ post.title }}">
48 {% endfor %} 48 <time pubdate="{{ post.dateOriginal }}" class="pubdate">{{ post.dateFormatted }}</time>
49 </nav> 49 <h2>{{ post.title }}</h2>
50 </a>
51 </article>
52 {% endif %}
53 {% endfor %}
54 </nav>
55
56 <h3>General</h3>
57 <nav class="article-list">
58 {% for post in posts %}
59 {% if post.type != "research" %}
60 <article>
61 <a href="/{{ post.slug }}" aria-label="Read more about {{ post.title }}">
62 <time pubdate="{{ post.dateOriginal }}" class="pubdate">{{ post.dateFormatted }}</time>
63 <h2>{{ post.title }}</h2>
64 </a>
65 </article>
66 {% endif %}
67 {% endfor %}
68 </nav>
69
70 </div>
50 71
51 {{ javascript }} 72 {{ javascript }}
52 73
diff --git a/source/layouts/navigation.njk b/source/layouts/navigation.njk
index 163c3c7..8814fc1 100644
--- a/source/layouts/navigation.njk
+++ b/source/layouts/navigation.njk
@@ -1,9 +1,9 @@
1<menu> 1<menu>
2 <div> 2 <div>
3 <a href="/" class="logo">@mitjafelicijan</a> 3 <a href="/" class="logo">Mitja Felicijan</a>
4 </div> 4 </div>
5 <nav> 5 <nav>
6 <a href="//github.com/mitjafelicijan"> 6 <a href="//github.com/mitjafelicijan" aria-label="Github">
7 <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 7 <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
8 viewBox="0 0 92 92" style="enable-background:new 0 0 92 92;" xml:space="preserve"> 8 viewBox="0 0 92 92" style="enable-background:new 0 0 92 92;" xml:space="preserve">
9 <g> 9 <g>
@@ -21,7 +21,7 @@
21 </svg> 21 </svg>
22 </a> 22 </a>
23 23
24 <a href="//twitter.com/mitjafelicijan"> 24 <a href="//twitter.com/mitjafelicijan" aria-label="Twitter">
25 <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 25 <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
26 viewBox="0 0 612 612" style="enable-background:new 0 0 612 612;" xml:space="preserve"> 26 viewBox="0 0 612 612" style="enable-background:new 0 0 612 612;" xml:space="preserve">
27 <g> 27 <g>