1
1
---
2
+ title: Timeline
2
3
layout: default
3
4
permalink: /timeline/
5
+ bg_class: bg-gray-100
4
6
---
5
7
6
- mixin timelineItem(title, url, date, description, type="unknown" , italicTitle = false , color="blue" )
8
+ mixin timelineItem(title, type="unknown" , italicTitle = false , color="blue" )
7
9
div.timeline-item.bg-white.px-3.py-3.rounded-lg.shadow-md.mb-4 ( data-type =type)
8
10
div.mb-2
9
11
// Title
10
- a( href =url)
11
- div.text-lg. mb-2 ( class =italicTitle ? ' italic' : '' )
12
+ a( href ="{{event. url}}" )
13
+ div.mb-2.text-lg ( class =italicTitle ? ' italic' : '' )
12
14
| #{title}
13
15
14
16
// Icon & Type
@@ -28,26 +30,22 @@ mixin timelineItem(title, url, date, description, type="unknown", italicTitle =
28
30
29
31
// Date
30
32
span
31
- time( datetime =date) #{date}
33
+ time( datetime ="{{event.date | date: '%F'}}" ) {{event.date | date: '%F'}}
34
+
35
+ | {% if event.author %}
36
+ p.gray-200.text-sm By #[ i {{event.author }}]
37
+ | {% endif %}
32
38
33
39
// Description
34
- p #{ description}
40
+ p {{event. description} }
35
41
36
42
block
37
43
38
- mixin timelineArticle(title, url, date, description, author )
39
- + timelineItem(title, url, date, description, type='article' , italicTitle=true , color="purple" )
40
- span By #[ i #{author}]
41
-
42
44
43
- doctype html
44
- html( lang ="en" )
45
- head
46
- meta( charset ="UTF-8" )
47
- title Timeline
48
- link
( href =
"https://cdn.jsdelivr.net/npm/[email protected] /dist/tailwind.min.css" ,
rel =
"stylesheet" )
49
- script( src ="timeline.js" )
50
- body( class ="bg-gray-100" )
45
+ link
( href =
"https://cdn.jsdelivr.net/npm/[email protected] /dist/tailwind.min.css" ,
rel =
"stylesheet" )
46
+ script( src ="timeline.js" )
47
+ div
48
+ div
51
49
div.container.mx-auto
52
50
div.bg-white.rounded-lg.shadow.px-3.py-3.mb-4
53
51
h1.text-3xl.mb-2
@@ -59,7 +57,7 @@ html(lang="en")
59
57
//- | Filters
60
58
div.mb-8.bg-white.rounded-lg.px-3.py-3.shadow
61
59
mixin filterButton(type, text, emoji = '' , active = false )
62
- button.filter-btn.text-lg.rounded.px-3.py-1 ( data-type =type)( class =active ? ' bg-blue-500 text-white' : '' )
60
+ button.filter-btn.text-lg.rounded.px-3.py-1 ( data-type =type, class =active ? ' bg-blue-500 text-white' : '' )
63
61
span.mr-2.py-0 = emoji
64
62
= text
65
63
+ filterButton('all' , 'All' , '⭐' , active=true )
@@ -73,42 +71,35 @@ html(lang="en")
73
71
div.timeline
74
72
// Milestones
75
73
| {% for event in site.data.milestones %}
76
- + timelineItem("{{event.title}}" , "{{event.url}}" , "{{event.date | date: '%F' }}" , "{{event.description}}" , "milestone" ,
77
- false , color="green" )
74
+ + timelineItem("{{event.title}}" , "milestone" , false , color="green" )
78
75
| {% endfor %}
79
76
80
77
// Releases
81
78
| {% for event in site.data.releases %}
82
- + timelineItem("{{event.tag}}" , "{{event.url}}" , "{{event.date | date: '%F' }}" , "{{event.description}}" , "release" ,
83
- false , color="blue" )
79
+ + timelineItem("{{event.tag}}" , "release" , false , color="blue" )
84
80
| {% endfor %}
85
81
86
82
// Android releases
87
83
| {% for event in site.data.releases_android %}
88
- + timelineItem("{{event.title}} (Android)" , "{{event.url}}" , "{{event.date | date: '%F' }}" , "{{event.description}}" , "release" ,
89
- false , color="blue" )
84
+ + timelineItem("{{event.title}} (Android)" , "release" , false , color="blue" )
90
85
| {% endfor %}
91
86
92
87
// Features
93
88
| {% for event in site.data.features %}
94
- + timelineItem("{{event.title}}" , "{{event.url}}" , "{{event.date | date: '%F' }}" , "{{event.description}}" , "feature" ,
95
- false , color="yellow" )
89
+ + timelineItem("{{event.title}}" , "feature" , false , color="yellow" )
96
90
| {% endfor %}
97
91
98
92
// Articles
99
93
| {% for event in site.posts %}
100
- + timelineItem("{{event.title}}" , "{{event.url}}" , "{{event.date | date: '%F' }}" , "{{event.description}}" , "article" ,
101
- true , color="purple" )
94
+ + timelineItem("{{event.title}}" , "article" , true , color="purple" )
102
95
| {% endfor %}
103
96
104
97
// External articles
105
98
| {% for event in site.data.articles %}
106
- + timelineArticle("{{event.title}}" , "{{event.url}}" , "{{event.date | date: '%F' }}" , "{{event.description}}" ,
107
- "{{event.author}}" )
99
+ + timelineItem("{{event.title}}" , "article" , true , color="purple" )
108
100
| {% endfor %}
109
101
110
102
// Videos
111
103
| {% for event in site.data.videos %}
112
- + timelineItem("{{event.title}}" , "{{event.url}}" , "{{event.date | date: '%F' }}" , "{{event.description}}" , "video" ,
113
- true , color="red" )
104
+ + timelineItem("{{event.title}}" , "video" , true , color="red" )
114
105
| {% endfor %}
0 commit comments