fake.modules transposition for aspect-oriented Dendritic Nix. with cross-aspect dependencies. Discussions: https://oeiuwq.zulipchat.com/join/nqp26cd4kngon6mo3ncgnuap/ dendrix.oeiuwq.com/Dendritic.html
dendritic nix aspect oriented
at main 173 lines 3.6 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/flake-aspects</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 flake-aspects 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/import-tree">import-tree</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 </div> 28</section> 29 30<style> 31 .sponsor-card { 32 border-radius: 1rem; 33 padding: 2rem 1.5rem; 34 margin: 2rem 1rem; 35 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); 36 transition: all 0.4s ease; 37 max-width: 20em; 38 } 39 40 .sponsor-card:hover { 41 background: linear-gradient(135deg, #a855f7 0%, #06b6d4 100%); 42 box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2); 43 transform: translateY(-2px); 44 } 45 46 .content * { 47 color: var(--sl-color-fg); 48 } 49 50 .content { 51 text-align: center; 52 } 53 54 .content:hover * { 55 color: white; 56 } 57 58 .content a:link { 59 color: inherit; 60 } 61 62 .content a.primary:link { 63 color: var(--sl-color-bg); 64 } 65 66 .content a.primary:visited { 67 color: var(--sl-color-bg); 68 } 69 70 .content a:visited { 71 color: inherit; 72 } 73 74 .header { 75 display: flex; 76 align-items: center; 77 justify-content: center; 78 gap: 0.75rem; 79 margin-bottom: 1rem; 80 } 81 82 .heart-icon { 83 animation: pulse 2s ease-in-out infinite; 84 } 85 86 @keyframes pulse { 87 0%, 100% { 88 opacity: 1; 89 } 90 50% { 91 opacity: 0.7; 92 } 93 } 94 95 h3 { 96 font-size: 1.5rem; 97 font-weight: 700; 98 margin: 0; 99 letter-spacing: -0.02em; 100 } 101 102 .description { 103 font-size: 0.95rem; 104 line-height: 1.6; 105 margin: 1rem 0 1.5rem 0; 106 opacity: 0.95; 107 } 108 109 .description a { 110 font-weight: 600; 111 text-decoration: underline; 112 text-decoration-thickness: 2px; 113 text-underline-offset: 4px; 114 } 115 116 .description a:hover { 117 opacity: 0.85; 118 } 119 120 .ecosystem { 121 list-style: none; 122 padding: 0; 123 margin: 1.5rem 0; 124 display: grid; 125 grid-template-columns: repeat(2, 1fr); 126 gap: 0.75rem; 127 font-size: 0.9rem; 128 } 129 130 .ecosystem li { 131 background: rgba(255, 255, 255, 0.15); 132 padding: 0.5rem 0.75rem; 133 border-radius: 0.5rem; 134 backdrop-filter: blur(10px); 135 } 136 137 .ecosystem a { 138 text-decoration: none; 139 font-weight: 500; 140 transition: opacity 0.2s; 141 } 142 143 .ecosystem a:hover { 144 opacity: 0.85; 145 text-decoration: underline; 146 } 147 148 .cta-button { 149 display: inline-flex; 150 align-items: center; 151 gap: 0.5rem; 152 background: rgba(255, 255, 255, 0.25); 153 padding: 0.875rem 1.75rem; 154 border-radius: 0.75rem; 155 font-weight: 600; 156 font-size: 1rem; 157 text-decoration: none; 158 border: 2px solid rgba(255, 255, 255, 0.4); 159 transition: all 0.3s ease; 160 margin-top: 1rem; 161 cursor: pointer; 162 } 163 164 .cta-button:hover { 165 background: rgba(255, 255, 255, 0.35); 166 border-color: rgba(255, 255, 255, 0.6); 167 transform: scale(1.05); 168 } 169 170 .cta-button:active { 171 transform: scale(0.98); 172 } 173</style>