@terrymooreii/sia 2.0.2 → 2.1.1

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.
package/_config.yml CHANGED
@@ -4,6 +4,8 @@ site:
4
4
  url: "http://localhost:3000"
5
5
  author: "Terry Moore II"
6
6
 
7
+ theme: main
8
+
7
9
  input: src
8
10
  output: dist
9
11
 
@@ -30,3 +32,4 @@ pagination:
30
32
 
31
33
  server:
32
34
  port: 3000
35
+ showDrafts: false # Set to true to show draft posts in dev server
@@ -7,7 +7,7 @@
7
7
  </div>
8
8
 
9
9
  <footer class="note-footer">
10
- <time datetime="{{ page.date | date('iso') }}">{{ page.date | date('full') }}</time>
10
+ <time datetime="{{ page.date | date('iso') }}">{{ page.date | date('full_time') }}</time>
11
11
  {% if page.tags and page.tags.length %}
12
12
  <span class="note-tags">
13
13
  {% for tag in page.tags %}
@@ -3,7 +3,10 @@
3
3
  {% block content %}
4
4
  <article class="post">
5
5
  <header class="post-header">
6
- <h1 class="post-title">{{ page.title }}</h1>
6
+ <h1 class="post-title">
7
+ {{ page.title }}
8
+ {% if page.draft %}<span class="draft-badge">Draft</span>{% endif %}
9
+ </h1>
7
10
 
8
11
  <div class="post-meta">
9
12
  <time datetime="{{ page.date | date('iso') }}">{{ page.date | date('long') }}</time>
@@ -11,6 +11,7 @@
11
11
  <article class="post-card">
12
12
  <h2 class="post-card-title">
13
13
  <a href="{{ post.url }}">{{ post.title }}</a>
14
+ {% if post.draft %}<span class="draft-badge">Draft</span>{% endif %}
14
15
  </h2>
15
16
  <div class="post-card-meta">
16
17
  <time datetime="{{ post.date | date('iso') }}">{{ post.date | date('long') }}</time>
@@ -17,6 +17,7 @@
17
17
  <article class="post-card">
18
18
  <h3 class="post-card-title">
19
19
  <a href="{{ post.url }}">{{ post.title }}</a>
20
+ {% if post.draft %}<span class="draft-badge">Draft</span>{% endif %}
20
21
  </h3>
21
22
  <div class="post-card-meta">
22
23
  <time datetime="{{ post.date | date('iso') }}">{{ post.date | date('short') }}</time>
@@ -48,7 +49,7 @@
48
49
  <article class="note-card">
49
50
  <div class="note-card-content">{{ note.excerpt }}</div>
50
51
  <footer class="note-card-footer">
51
- <time datetime="{{ note.date | date('iso') }}">{{ note.date | date('short') }}</time>
52
+ <time datetime="{{ note.date | date('iso') }}">{{ note.date | date('full_time') }}</time>
52
53
  <a href="{{ note.url }}" class="note-card-link">View →</a>
53
54
  </footer>
54
55
  </article>
@@ -13,7 +13,7 @@
13
13
  {{ note.content | safe }}
14
14
  </div>
15
15
  <footer class="note-item-footer">
16
- <time datetime="{{ note.date | date('iso') }}">{{ note.date | date('full') }}</time>
16
+ <time datetime="{{ note.date | date('iso') }}">{{ note.date | date('full_time') }}</time>
17
17
  {% if note.tags and note.tags.length %}
18
18
  <div class="note-item-tags">
19
19
  {% for tag in note.tags %}
@@ -11,6 +11,7 @@
11
11
  <article class="post-card">
12
12
  <h2 class="post-card-title">
13
13
  <a href="{{ post.url }}">{{ post.title or post.excerpt }}</a>
14
+ {% if post.draft %}<span class="draft-badge">Draft</span>{% endif %}
14
15
  </h2>
15
16
  <div class="post-card-meta">
16
17
  <time datetime="{{ post.date | date('iso') }}">{{ post.date | date('long') }}</time>
@@ -250,7 +250,6 @@ img {
250
250
  .hero {
251
251
  text-align: center;
252
252
  padding: var(--spacing-3xl) 0;
253
- border-bottom: 1px solid var(--color-border-light);
254
253
  margin-bottom: var(--spacing-2xl);
255
254
  }
256
255
 
@@ -342,6 +341,10 @@ img {
342
341
  font-weight: 600;
343
342
  margin: 0 0 var(--spacing-sm);
344
343
  line-height: 1.3;
344
+ display: flex;
345
+ align-items: center;
346
+ flex-wrap: wrap;
347
+ gap: var(--spacing-sm);
345
348
  }
346
349
 
347
350
  .post-card-title a {
@@ -397,6 +400,10 @@ img {
397
400
  letter-spacing: -0.02em;
398
401
  margin: 0 0 var(--spacing-md);
399
402
  line-height: 1.2;
403
+ display: flex;
404
+ align-items: center;
405
+ flex-wrap: wrap;
406
+ gap: var(--spacing-sm);
400
407
  }
401
408
 
402
409
  .post-meta {
@@ -567,12 +574,29 @@ img {
567
574
  font-size: 0.9375rem;
568
575
  }
569
576
 
570
- .tags-page {
571
- /* Tags page layout */
577
+ /* ===== Draft Badge ===== */
578
+ .draft-badge {
579
+ display: inline-flex;
580
+ align-items: center;
581
+ padding: 0.125em 0.4em;
582
+ background: #f59e0b;
583
+ color: white;
584
+ font-size: 0.65rem;
585
+ font-weight: 600;
586
+ text-transform: uppercase;
587
+ letter-spacing: 0.05em;
588
+ border-radius: var(--radius-sm);
589
+ line-height: 1;
590
+ flex-shrink: 0;
591
+ }
592
+
593
+ [data-theme="dark"] .draft-badge {
594
+ background: #fbbf24;
595
+ color: #1a202c;
572
596
  }
573
597
 
574
- .tags-detail {
575
- /* Tag detail sections */
598
+ .prose .draft-badge {
599
+ font-size: 0.6rem;
576
600
  }
577
601
 
578
602
  .tag-section {
@@ -829,6 +853,240 @@ img {
829
853
  font-weight: 600;
830
854
  }
831
855
 
856
+ /* ===== Alert Boxes ===== */
857
+ .prose .markdown-alert {
858
+ margin: 1.5em 0;
859
+ padding: var(--spacing-md) var(--spacing-lg);
860
+ border-left: 4px solid;
861
+ border-radius: var(--radius-md);
862
+ background: var(--color-bg-alt);
863
+ }
864
+
865
+ .prose .markdown-alert-title {
866
+ display: flex;
867
+ align-items: center;
868
+ gap: var(--spacing-sm);
869
+ margin: 0 0 var(--spacing-sm) 0;
870
+ font-weight: 600;
871
+ font-style: normal;
872
+ }
873
+
874
+ .prose .markdown-alert-title svg {
875
+ flex-shrink: 0;
876
+ width: 16px;
877
+ height: 16px;
878
+ fill: currentColor;
879
+ }
880
+
881
+ /* Make SVG icons lighter in dark mode */
882
+ [data-theme="dark"] .prose .markdown-alert-title svg {
883
+ fill: currentColor;
884
+ }
885
+
886
+ .prose .markdown-alert p:last-child {
887
+ margin-bottom: 0;
888
+ }
889
+
890
+ /* Note Alert */
891
+ .prose .markdown-alert-note {
892
+ border-left-color: #0969da;
893
+ background: rgba(9, 105, 218, 0.1);
894
+ }
895
+
896
+ .prose .markdown-alert-note .markdown-alert-title {
897
+ color: #0969da;
898
+ }
899
+
900
+ [data-theme="dark"] .prose .markdown-alert-note {
901
+ background: rgba(9, 105, 218, 0.15);
902
+ border-left-color: #58a6ff;
903
+ }
904
+
905
+ [data-theme="dark"] .prose .markdown-alert-note .markdown-alert-title {
906
+ color: #58a6ff;
907
+ }
908
+
909
+ [data-theme="dark"] .prose .markdown-alert-note .markdown-alert-title svg {
910
+ fill: #58a6ff;
911
+ }
912
+
913
+ /* Tip Alert */
914
+ .prose .markdown-alert-tip {
915
+ border-left-color: #1a7f37;
916
+ background: rgba(26, 127, 55, 0.1);
917
+ }
918
+
919
+ .prose .markdown-alert-tip .markdown-alert-title {
920
+ color: #1a7f37;
921
+ }
922
+
923
+ [data-theme="dark"] .prose .markdown-alert-tip {
924
+ background: rgba(26, 127, 55, 0.15);
925
+ border-left-color: #3fb950;
926
+ }
927
+
928
+ [data-theme="dark"] .prose .markdown-alert-tip .markdown-alert-title {
929
+ color: #3fb950;
930
+ }
931
+
932
+ [data-theme="dark"] .prose .markdown-alert-tip .markdown-alert-title svg {
933
+ fill: #3fb950;
934
+ }
935
+
936
+ /* Important Alert */
937
+ .prose .markdown-alert-important {
938
+ border-left-color: #8250df;
939
+ background: rgba(130, 80, 223, 0.1);
940
+ }
941
+
942
+ .prose .markdown-alert-important .markdown-alert-title {
943
+ color: #8250df;
944
+ }
945
+
946
+ [data-theme="dark"] .prose .markdown-alert-important {
947
+ background: rgba(130, 80, 223, 0.15);
948
+ border-left-color: #a371f7;
949
+ }
950
+
951
+ [data-theme="dark"] .prose .markdown-alert-important .markdown-alert-title {
952
+ color: #a371f7;
953
+ }
954
+
955
+ [data-theme="dark"] .prose .markdown-alert-important .markdown-alert-title svg {
956
+ fill: #a371f7;
957
+ }
958
+
959
+ /* Warning Alert */
960
+ .prose .markdown-alert-warning {
961
+ border-left-color: #9a6700;
962
+ background: rgba(154, 103, 0, 0.1);
963
+ }
964
+
965
+ .prose .markdown-alert-warning .markdown-alert-title {
966
+ color: #9a6700;
967
+ }
968
+
969
+ [data-theme="dark"] .prose .markdown-alert-warning {
970
+ background: rgba(154, 103, 0, 0.15);
971
+ border-left-color: #d29922;
972
+ }
973
+
974
+ [data-theme="dark"] .prose .markdown-alert-warning .markdown-alert-title {
975
+ color: #d29922;
976
+ }
977
+
978
+ [data-theme="dark"] .prose .markdown-alert-warning .markdown-alert-title svg {
979
+ fill: #d29922;
980
+ }
981
+
982
+ /* Caution Alert */
983
+ .prose .markdown-alert-caution {
984
+ border-left-color: #cf222e;
985
+ background: rgba(207, 34, 46, 0.1);
986
+ }
987
+
988
+ .prose .markdown-alert-caution .markdown-alert-title {
989
+ color: #cf222e;
990
+ }
991
+
992
+ [data-theme="dark"] .prose .markdown-alert-caution {
993
+ background: rgba(207, 34, 46, 0.15);
994
+ border-left-color: #f85149;
995
+ }
996
+
997
+ [data-theme="dark"] .prose .markdown-alert-caution .markdown-alert-title {
998
+ color: #f85149;
999
+ }
1000
+
1001
+ [data-theme="dark"] .prose .markdown-alert-caution .markdown-alert-title svg {
1002
+ fill: #f85149;
1003
+ }
1004
+
1005
+ /* ===== Task Lists (Checkboxes) ===== */
1006
+ .prose ul.contains-task-list,
1007
+ .prose ol.contains-task-list {
1008
+ list-style: none;
1009
+ padding-left: 0;
1010
+ }
1011
+
1012
+ .prose .task-list-item {
1013
+ display: flex;
1014
+ align-items: flex-start;
1015
+ gap: var(--spacing-sm);
1016
+ margin-bottom: 0.5em;
1017
+ }
1018
+
1019
+ .prose .task-list-item input[type="checkbox"] {
1020
+ margin-top: 0.25em;
1021
+ cursor: pointer;
1022
+ width: 1em;
1023
+ height: 1em;
1024
+ flex-shrink: 0;
1025
+ accent-color: var(--color-primary);
1026
+ }
1027
+
1028
+ .prose .task-list-item input[type="checkbox"]:checked {
1029
+ accent-color: var(--color-primary);
1030
+ }
1031
+
1032
+ /* ===== Strikethrough ===== */
1033
+ .prose del,
1034
+ .prose s {
1035
+ text-decoration: line-through;
1036
+ text-decoration-color: var(--color-text-muted);
1037
+ opacity: 0.7;
1038
+ }
1039
+
1040
+ /* ===== Footnotes ===== */
1041
+ .prose section[data-footnotes],
1042
+ .prose .footnotes {
1043
+ margin-top: 2em;
1044
+ padding-top: var(--spacing-lg);
1045
+ border-top: 1px solid var(--color-border);
1046
+ }
1047
+
1048
+ .prose section[data-footnotes] h2,
1049
+ .prose .footnotes h2 {
1050
+ font-size: 1rem;
1051
+ font-weight: 600;
1052
+ margin-bottom: var(--spacing-md);
1053
+ color: var(--color-text-muted);
1054
+ }
1055
+
1056
+ .prose section[data-footnotes] ol,
1057
+ .prose .footnotes ol {
1058
+ padding-left: 1.5em;
1059
+ font-size: 0.9375rem;
1060
+ color: var(--color-text-muted);
1061
+ }
1062
+
1063
+ .prose section[data-footnotes] li,
1064
+ .prose .footnotes li {
1065
+ margin-bottom: var(--spacing-sm);
1066
+ }
1067
+
1068
+ .prose .footnote-ref {
1069
+ font-size: 0.875em;
1070
+ vertical-align: super;
1071
+ text-decoration: none;
1072
+ color: var(--color-primary);
1073
+ margin-left: 0.2em;
1074
+ }
1075
+
1076
+ .prose .footnote-ref:hover {
1077
+ text-decoration: underline;
1078
+ }
1079
+
1080
+ .prose .footnote-backref {
1081
+ text-decoration: none;
1082
+ color: var(--color-primary);
1083
+ margin-left: var(--spacing-xs);
1084
+ }
1085
+
1086
+ .prose .footnote-backref:hover {
1087
+ text-decoration: underline;
1088
+ }
1089
+
832
1090
  /* ===== Empty State ===== */
833
1091
  .empty-message {
834
1092
  text-align: center;