1212 {{ if eq .Section "podcast" }}
1313 < li > < a href ="/podcast/ " class ="hover:text-blue-600 transition-colors duration-200 "> Podcast</ a > </ li >
1414 {{ else }}
15- < li > < a href ="/articles/ " class ="hover:text-blue-600 transition-colors duration-200 "> Articles</ a > </ li >
15+ < li > < a href ="/articles/ " class ="hover:text-blue-600 transition-colors duration-200 "> Articles</ a >
16+ </ li >
1617 {{ end }}
1718 < li > < i class ="fas fa-chevron-right text-xs "> </ i > </ li >
1819 < li class ="text-gray-900 font-medium truncate "> {{ .Title }}</ li >
1920 </ ol >
2021 </ nav >
21-
22+
2223 <!-- Article Meta -->
2324 < div class ="flex flex-wrap items-center gap-4 mb-6 ">
2425 {{ if eq .Section "podcast" }}
25- < span class ="inline-flex items-center bg-purple-100 text-purple-800 px-3 py-1 rounded-full text-sm font-medium ">
26+ < span
27+ class ="inline-flex items-center bg-purple-100 text-purple-800 px-3 py-1 rounded-full text-sm font-medium ">
2628 < i class ="fas fa-podcast mr-2 "> </ i > Podcast
2729 </ span >
2830 {{ end }}
2931 {{ with .Params.categories }}
3032 {{ range . }}
31- < span class ="inline-flex items-center bg-blue-100 text-blue-800 px-3 py-1 rounded-full text-sm font-medium ">
33+ < span
34+ class ="inline-flex items-center bg-blue-100 text-blue-800 px-3 py-1 rounded-full text-sm font-medium ">
3235 {{ . }}
3336 </ span >
3437 {{ end }}
3841 < span class ="text-gray-600 text-sm "> {{ .Params.duration }}</ span >
3942 {{ end }}
4043 </ div >
41-
44+
4245 <!-- Title -->
4346 < h1 class ="text-3xl lg:text-4xl font-bold text-gray-900 mb-4 leading-tight "> {{ .Title }}</ h1 >
44-
47+
4548 <!-- Author and Reading Time -->
4649 < div class ="flex items-center justify-between ">
4750 < div class ="flex items-center space-x-4 ">
@@ -50,35 +53,33 @@ <h1 class="text-3xl lg:text-4xl font-bold text-gray-900 mb-4 leading-tight">{{ .
5053 < div class ="w-8 h-8 bg-blue-600 rounded-full flex items-center justify-center mr-3 ">
5154 < i class ="fas fa-user text-white text-sm "> </ i >
5255 </ div >
53- < a href ="{{ "/authors/" | relURL }}{{ . | urlize }}/" class="font-medium hover:text-blue-600 transition-colors duration-200"> {{ . }}</ a >
56+ < a href ="{{ " /authors/" | relURL }}{{ . | urlize }}/"
57+ class="font-medium hover:text-blue-600 transition-colors duration-200"> {{ . }}</ a >
5458 </ div >
5559 {{ end }}
5660 < span class ="text-gray-400 "> •</ span >
5761 < span class ="text-gray-600 text-sm "> {{ .ReadingTime }} min read</ span >
5862 </ div >
59-
63+
6064 <!-- Share Buttons -->
6165 < div class ="flex items-center space-x-2 ">
6266 < span class ="text-gray-600 text-sm mr-2 "> Share:</ span >
63- < a href ="https://twitter.com/intent/tweet?url={{ .Permalink }}&text={{ .Title }} "
64- target ="_blank " rel ="noopener "
65- class ="text-gray-500 hover:text-blue-400 transition-colors duration-200 ">
67+ < a href ="https://twitter.com/intent/tweet?url={{ .Permalink }}&text={{ .Title }} " target ="_blank "
68+ rel ="noopener " class ="text-gray-500 hover:text-blue-400 transition-colors duration-200 ">
6669 < i class ="fab fa-twitter "> </ i >
6770 </ a >
68- < a href ="https://www.linkedin.com/sharing/share-offsite/?url={{ .Permalink }} "
69- target ="_blank " rel ="noopener "
70- class ="text-gray-500 hover:text-blue-600 transition-colors duration-200 ">
71+ < a href ="https://www.linkedin.com/sharing/share-offsite/?url={{ .Permalink }} " target ="_blank "
72+ rel ="noopener " class ="text-gray-500 hover:text-blue-600 transition-colors duration-200 ">
7173 < i class ="fab fa-linkedin "> </ i >
7274 </ a >
73- < button onclick ="navigator.clipboard.writeText('{{ .Permalink }}') "
74- class ="text-gray-500 hover:text-gray-700 transition-colors duration-200 "
75- title ="Copy link ">
75+ < button onclick ="navigator.clipboard.writeText('{{ .Permalink }}') "
76+ class ="text-gray-500 hover:text-gray-700 transition-colors duration-200 " title ="Copy link ">
7677 < i class ="fas fa-link "> </ i >
7778 </ button >
7879 </ div >
7980 </ div >
8081 </ header >
81-
82+
8283 <!-- Podcast Player (if podcast) -->
8384 {{ if and (eq .Section "podcast") .Params.podcast_url }}
8485 < div class ="mb-8 p-6 bg-gradient-to-r from-purple-50 to-purple-100 rounded-xl ">
@@ -97,30 +98,30 @@ <h3 class="font-semibold text-gray-900">Listen to this Episode</h3>
9798 </ audio >
9899 </ div >
99100 {{ end }}
100-
101+
101102 <!-- Article Content -->
102103 < div class ="prose " style ="max-width: none; font-size: 1.125rem; ">
103104 {{ .Content }}
104105 </ div >
105-
106+
106107 <!-- Tags -->
107108 {{ with .Params.tags }}
108109 < div class ="mt-6 pt-6 border-t border-gray-200 ">
109110 < h3 class ="text-lg font-semibold text-gray-900 mb-3 "> Tags</ h3 >
110111 < div class ="flex flex-wrap gap-2 ">
111112 {{ range . }}
112- < a href ="{{ "/tags/" | relURL }}{{ . | urlize }}/"
113- class="inline-block bg-gray-100 text-gray-700 px-3 py-1 rounded-full text-sm font-medium hover:bg-blue-100 hover:text-blue-700 transition-colors duration-200">
113+ < a href ="{{ " /tags/" | relURL }}{{ . | urlize }}/"
114+ class="inline-block bg-gray-100 text-gray-700 px-3 py-1 rounded-full text-sm font-medium hover:bg-blue-100 hover:text-blue-700 transition-colors duration-200">
114115 #{{ . }}
115116 </ a >
116117 {{ end }}
117118 </ div >
118119 </ div >
119120 {{ end }}
120-
121+
121122 <!-- About the Author (sourced from author profiles) -->
122123 {{ partial "article-author-about.html" . }}
123-
124+
124125 <!-- Related Posts -->
125126 {{ $related := .Site.RegularPages.Related . | first 3 }}
126127 {{ if $related }}
@@ -136,7 +137,12 @@ <h4 class="text-lg font-semibold text-gray-900 mb-3 line-clamp-2">
136137 {{ .Title }}
137138 </ a >
138139 </ h4 >
139- < p class ="text-gray-600 text-sm line-clamp-3 "> {{ .Summary }}</ p >
140+ < p class ="text-gray-600 text-sm line-clamp-3 "> {{ .Summary | plainify | truncate 125 }}</ p >
141+ < a href ="{{ .RelPermalink }} "
142+ class ="inline-flex items-center mt-4 text-sm font-medium text-blue-600 hover:text-blue-700 transition-colors duration-200 ">
143+ Read more
144+ < i class ="fas fa-arrow-right ml-2 text-xs " aria-hidden ="true "> </ i >
145+ </ a >
140146 </ div >
141147 </ article >
142148 {{ end }}
@@ -149,7 +155,7 @@ <h4 class="text-lg font-semibold text-gray-900 mb-3 line-clamp-2">
149155 < div class ="flex justify-between items-center ">
150156 {{ with .PrevInSection }}
151157 < a href ="{{ .RelPermalink }} "
152- class ="flex items-center text-blue-600 hover:text-blue-700 font-medium transition-colors duration-200 ">
158+ class ="flex items-center text-blue-600 hover:text-blue-700 font-medium transition-colors duration-200 ">
153159 < i class ="fas fa-chevron-left mr-2 "> </ i >
154160 < span class ="truncate max-w-xs "> {{ .Title }}</ span >
155161 </ a >
@@ -159,7 +165,7 @@ <h4 class="text-lg font-semibold text-gray-900 mb-3 line-clamp-2">
159165
160166 {{ with .NextInSection }}
161167 < a href ="{{ .RelPermalink }} "
162- class ="flex items-center text-blue-600 hover:text-blue-700 font-medium transition-colors duration-200 ">
168+ class ="flex items-center text-blue-600 hover:text-blue-700 font-medium transition-colors duration-200 ">
163169 < span class ="truncate max-w-xs "> {{ .Title }}</ span >
164170 < i class ="fas fa-chevron-right ml-2 "> </ i >
165171 </ a >
@@ -173,23 +179,23 @@ <h4 class="text-lg font-semibold text-gray-900 mb-3 line-clamp-2">
173179
174180{{ define "scripts" }}
175181< script >
176- // Copy link functionality
177- function copyToClipboard ( text ) {
178- navigator . clipboard . writeText ( text ) . then ( function ( ) {
179- // You could add a toast notification here
180- console . log ( 'Link copied to clipboard' ) ;
181- } ) ;
182- }
182+ // Copy link functionality
183+ function copyToClipboard ( text ) {
184+ navigator . clipboard . writeText ( text ) . then ( function ( ) {
185+ // You could add a toast notification here
186+ console . log ( 'Link copied to clipboard' ) ;
187+ } ) ;
188+ }
183189
184- // Smooth scrolling for anchor links within the article
185- document . querySelectorAll ( '.prose a[href^="#"]' ) . forEach ( anchor => {
186- anchor . addEventListener ( 'click' , function ( e ) {
187- e . preventDefault ( ) ;
188- const target = document . querySelector ( this . getAttribute ( 'href' ) ) ;
189- if ( target ) {
190- target . scrollIntoView ( { behavior : 'smooth' , block : 'start' } ) ;
191- }
190+ // Smooth scrolling for anchor links within the article
191+ document . querySelectorAll ( '.prose a[href^="#"]' ) . forEach ( anchor => {
192+ anchor . addEventListener ( 'click' , function ( e ) {
193+ e . preventDefault ( ) ;
194+ const target = document . querySelector ( this . getAttribute ( 'href' ) ) ;
195+ if ( target ) {
196+ target . scrollIntoView ( { behavior : 'smooth' , block : 'start' } ) ;
197+ }
198+ } ) ;
192199 } ) ;
193- } ) ;
194200</ script >
195201{{ end }}
0 commit comments