11---
2+ title: Timeline
23layout: default
34permalink: /timeline/
5+ bg_class: bg-gray-100
46---
57
6- mixin timelineItem(title, url, date, description, type="unknown" , italicTitle = false , color="blue" )
8+ mixin timelineItem(title, type="unknown" , italicTitle = false , color="blue" )
79 div.timeline-item.bg-white.px-3.py-3.rounded-lg.shadow-md.mb-4 ( data-type =type)
810 div.mb-2
911 // 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' : '' )
1214 | #{title}
1315
1416 // Icon & Type
@@ -28,26 +30,22 @@ mixin timelineItem(title, url, date, description, type="unknown", italicTitle =
2830
2931 // Date
3032 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 %}
3238
3339 // Description
34- p #{ description}
40+ p {{event. description} }
3541
3642 block
3743
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-
4244
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/tailwindcss@2.2.15/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/tailwindcss@2.2.15/dist/tailwind.min.css" , rel ="stylesheet" )
46+ script( src ="timeline.js" )
47+ div
48+ div
5149 div.container.mx-auto
5250 div.bg-white.rounded-lg.shadow.px-3.py-3.mb-4
5351 h1.text-3xl.mb-2
@@ -59,7 +57,7 @@ html(lang="en")
5957 //- | Filters
6058 div.mb-8.bg-white.rounded-lg.px-3.py-3.shadow
6159 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' : '' )
6361 span.mr-2.py-0 = emoji
6462 = text
6563 + filterButton('all' , 'All' , '⭐' , active=true )
@@ -73,42 +71,35 @@ html(lang="en")
7371 div.timeline
7472 // Milestones
7573 | {% 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" )
7875 | {% endfor %}
7976
8077 // Releases
8178 | {% 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" )
8480 | {% endfor %}
8581
8682 // Android releases
8783 | {% 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" )
9085 | {% endfor %}
9186
9287 // Features
9388 | {% 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" )
9690 | {% endfor %}
9791
9892 // Articles
9993 | {% 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" )
10295 | {% endfor %}
10396
10497 // External articles
10598 | {% 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" )
108100 | {% endfor %}
109101
110102 // Videos
111103 | {% 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" )
114105 | {% endfor %}
0 commit comments