Import all nix files in a directory tree. Discussions: https://oeiuwq.zulipchat.com/join/nqp26cd4kngon6mo3ncgnuap/ dendrix.oeiuwq.com/Dendritic.html
dendritic inputs
at main 174 lines 3.8 kB view raw
1--- 2import { LinkButton, Icon } from '@astrojs/starlight/components'; 3--- 4 5<section class="sponsor-card"> 6 <div class="content"> 7 <div class="header"> 8 <Icon name="heart" size="2.5rem" class="heart-icon" /> 9 <h4><code>vic/import-tree</code>?</h4> 10 </div> 11 12 <LinkButton href="https://dendritic.oeiuwq.com/sponsor" variant="primary">Become a Sponsor</LinkButton> 13 14 <p class="description"> 15 import-tree is part of <a href="https://dendritic.oeiuwq.com">@vic's Dendritic Ecosystem</a> — made with love and maintained with passion. 16 </p> 17 18 <ul class="ecosystem"> 19 <li><a href="https://github.com/vic/flake-aspects">flake-aspects</a></li> 20 <li><a href="https://github.com/vic/flake-file">flake-file</a></li> 21 <li><a href="https://github.com/vic/with-inputs">with-inputs</a></li> 22 <li><a href="https://github.com/vic/den">den</a></li> 23 <li><a href="https://github.com/vic/denful">denful</a></li> 24 <li><a href="https://github.com/vic/dendrix">dendrix</a></li> 25 </ul> 26 27 <LinkButton icon="github" href="https://github.com/vic?tab=repositories" variant="minimal"><code>More <strong>@vic</strong> OpenSource</code></LinkButton> 28 </div> 29</section> 30 31<style> 32 .sponsor-card { 33 border-radius: 1rem; 34 padding: 2rem 1.5rem; 35 margin: 2rem 1rem; 36 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); 37 transition: all 0.4s ease; 38 max-width: 20em; 39 } 40 41 .sponsor-card:hover { 42 background: linear-gradient(135deg, #a855f7 0%, #06b6d4 100%); 43 box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2); 44 transform: translateY(-2px); 45 } 46 47 .content * { 48 color: var(--sl-color-fg); 49 } 50 51 .content { 52 text-align: center; 53 } 54 55 .content:hover * { 56 color: white; 57 } 58 59 .content a:link { 60 color: inherit; 61 } 62 63 .content a.primary:link { 64 color: var(--sl-color-bg); 65 } 66 67 .content a.primary:visited { 68 color: var(--sl-color-bg); 69 } 70 71 .content a:visited { 72 color: inherit; 73 } 74 75 .header { 76 display: flex; 77 align-items: center; 78 justify-content: center; 79 gap: 0.75rem; 80 margin-bottom: 1rem; 81 } 82 83 .heart-icon { 84 animation: pulse 2s ease-in-out infinite; 85 } 86 87 @keyframes pulse { 88 0%, 100% { 89 opacity: 1; 90 } 91 50% { 92 opacity: 0.7; 93 } 94 } 95 96 h3 { 97 font-size: 1.5rem; 98 font-weight: 700; 99 margin: 0; 100 letter-spacing: -0.02em; 101 } 102 103 .description { 104 font-size: 0.95rem; 105 line-height: 1.6; 106 margin: 1rem 0 1.5rem 0; 107 opacity: 0.95; 108 } 109 110 .description a { 111 font-weight: 600; 112 text-decoration: underline; 113 text-decoration-thickness: 2px; 114 text-underline-offset: 4px; 115 } 116 117 .description a:hover { 118 opacity: 0.85; 119 } 120 121 .ecosystem { 122 list-style: none; 123 padding: 0; 124 margin: 1.5rem 0; 125 display: grid; 126 grid-template-columns: repeat(2, 1fr); 127 gap: 0.75rem; 128 font-size: 0.9rem; 129 } 130 131 .ecosystem li { 132 background: rgba(255, 255, 255, 0.15); 133 padding: 0.5rem 0.75rem; 134 border-radius: 0.5rem; 135 backdrop-filter: blur(10px); 136 } 137 138 .ecosystem a { 139 text-decoration: none; 140 font-weight: 500; 141 transition: opacity 0.2s; 142 } 143 144 .ecosystem a:hover { 145 opacity: 0.85; 146 text-decoration: underline; 147 } 148 149 .cta-button { 150 display: inline-flex; 151 align-items: center; 152 gap: 0.5rem; 153 background: rgba(255, 255, 255, 0.25); 154 padding: 0.875rem 1.75rem; 155 border-radius: 0.75rem; 156 font-weight: 600; 157 font-size: 1rem; 158 text-decoration: none; 159 border: 2px solid rgba(255, 255, 255, 0.4); 160 transition: all 0.3s ease; 161 margin-top: 1rem; 162 cursor: pointer; 163 } 164 165 .cta-button:hover { 166 background: rgba(255, 255, 255, 0.35); 167 border-color: rgba(255, 255, 255, 0.6); 168 transform: scale(1.05); 169 } 170 171 .cta-button:active { 172 transform: scale(0.98); 173 } 174</style>