├── .dockerignore ├── .editorconfig ├── .env.example ├── .eslintignore ├── .eslintrc.js ├── .example.env ├── .gitattributes ├── .gitignore ├── .npmrc ├── .prettierignore ├── .prettierrc.js ├── .stackblitzrc ├── .trunk ├── .gitignore ├── configs │ ├── .hadolint.yaml │ ├── .markdownlint.yaml │ ├── .yamllint.yaml │ └── svgo.config.js └── trunk.yaml ├── .vscode ├── astrowind │ └── config-schema.json ├── extensions.json ├── launch.json └── settings.json ├── Dockerfile ├── LICENSE.md ├── README.md ├── astro.config.mjs ├── docker-compose.yaml ├── netlify.toml ├── package-lock.json ├── package.json ├── public ├── .well-known │ ├── lnurlp │ │ ├── bitkarrot │ │ ├── soc │ │ └── xenonfun │ └── nostr.json ├── _headers ├── decapcms │ ├── config.yml │ └── index.html ├── images │ ├── Bitcoin_Lightbulb_Effect.jpg │ ├── electric_bitcoin.jpg │ ├── electric_bitcoin.png │ ├── electric_bitcoin.webp │ ├── events2.jpg │ ├── external-link.png │ ├── icon-orange-transparent.png │ ├── lnbitslogo.svg │ ├── logo-circular-transparent.png │ ├── logodark.png │ ├── nostr.png │ ├── prfeedback.png │ ├── sat-symbol │ │ ├── Satoshi-regular-black.png │ │ ├── Satoshi-regular-elipse-black-grey.png │ │ ├── Satoshi-regular-elipse-black.png │ │ ├── Satoshi-regular-elipse.png │ │ ├── Satoshi-regular-white-trans.png │ │ └── Satoshi-regular-white.png │ ├── supporters │ │ ├── Sphinx-Logo-V1.png │ │ ├── alby_logo.png │ │ ├── csys.png │ │ ├── darkalby.png │ │ ├── light_lngames.png │ │ ├── lightalby.png │ │ ├── lightlngames.png │ │ ├── logo-stak.svg │ │ └── staksquare.png │ └── xkcd.png └── robots.txt ├── sandbox.config.json ├── src ├── assets │ ├── favicons │ │ ├── apple-touch-icon-astro.png │ │ ├── apple-touch-icon.png │ │ ├── favicon.ico │ │ ├── favicon.svg │ │ └── favicon_bw.svg │ ├── images │ │ ├── caos.jpg │ │ ├── default.jpg │ │ ├── default.png │ │ ├── electricbitcoin.jpg │ │ ├── electricbitcoin.png │ │ ├── hero-image.png │ │ └── laptops.avif │ └── styles │ │ └── tailwind.css ├── components │ ├── CorpForm.svelte │ ├── CustomStyles.astro │ ├── DonateForm.svelte │ ├── Favicons.astro │ ├── IndivForm.svelte │ ├── Logo.astro │ ├── blog │ │ ├── Grid.astro │ │ ├── GridItem.astro │ │ ├── Headline.astro │ │ ├── List.astro │ │ ├── ListItem.astro │ │ ├── Pagination.astro │ │ ├── SinglePost.astro │ │ ├── Tags.astro │ │ └── ToBlogLink.astro │ ├── common │ │ ├── Analytics.astro │ │ ├── ApplyColorMode.astro │ │ ├── BasicScripts.astro │ │ ├── CommonMeta.astro │ │ ├── Image.astro │ │ ├── Metadata.astro │ │ ├── SiteVerification.astro │ │ ├── SocialShare.astro │ │ ├── SplitbeeAnalytics.astro │ │ ├── ToggleMenu.astro │ │ ├── ToggleTheme.astro │ │ └── YoutubeVideo.astro │ ├── ui │ │ ├── Background.astro │ │ ├── Button.astro │ │ ├── DListItem.astro │ │ ├── Form.astro │ │ ├── Headline.astro │ │ ├── ItemGrid.astro │ │ ├── ItemGrid2.astro │ │ ├── Timeline.astro │ │ └── WidgetWrapper.astro │ └── widgets │ │ ├── Announcement.astro │ │ ├── BlogHighlightedPosts.astro │ │ ├── BlogLatestPosts.astro │ │ ├── Brands.astro │ │ ├── CallToAction.astro │ │ ├── Contact.astro │ │ ├── Content.astro │ │ ├── FAQs.astro │ │ ├── Features.astro │ │ ├── Features2.astro │ │ ├── Features3.astro │ │ ├── Footer.astro │ │ ├── Header.astro │ │ ├── Hero.astro │ │ ├── Hero2.astro │ │ ├── HeroText.astro │ │ ├── Note.astro │ │ ├── Pricing.astro │ │ ├── Stats.astro │ │ ├── Steps.astro │ │ ├── Steps2.astro │ │ └── Testimonials.astro ├── config.mjs ├── config.yaml ├── content │ ├── config.ts │ └── post │ │ ├── 2024Q2_update.md │ │ ├── Apr_2024_Contributors.md │ │ ├── BloggingOnNostr.md │ │ ├── Dec_2023_Collaborators.md │ │ ├── Environment_Setup.md │ │ ├── FOSS_best_practices.md │ │ ├── Feb_2024_Contributors.md │ │ ├── Jan_2024_Contributors.md │ │ ├── Mar_2024_Contributors.md │ │ ├── May_2024_Contributors.md │ │ ├── Nov_2023_Collaborators.md │ │ ├── Oct_2023_Collaborators.md │ │ ├── _images │ │ ├── BloggingBitcoinAvatar.png │ │ ├── Build_The_Future.webp │ │ ├── November.jpg │ │ ├── april.png │ │ ├── august.jpg │ │ ├── bitcoin_community_growth.png │ │ ├── cityscape.webp │ │ ├── code_image.jpg │ │ ├── december.jph.webp │ │ ├── do-more.jpg │ │ ├── env-setup.webp │ │ ├── events.png │ │ ├── february.jpeg │ │ ├── foss.jpg │ │ ├── git.png │ │ ├── january.png │ │ ├── july.jpg │ │ ├── june.jpg │ │ ├── lightningfaucet.webp │ │ ├── lightningfaucet2.webp │ │ ├── lnprisms │ │ │ ├── lnprisms-lnbits1.webp │ │ │ ├── lnprisms-lnbits2.webp │ │ │ ├── lnprisms-lnbits3.webp │ │ │ ├── lnprisms-lnbits4.webp │ │ │ └── lnprisms.webp │ │ ├── march.jpeg │ │ ├── may.png │ │ ├── nostrich.webp │ │ ├── october.jpg │ │ ├── opensource.jpg │ │ ├── purpleimg.webp │ │ ├── september.png │ │ ├── testnet-lightning.png │ │ └── tools.jpg │ │ ├── about.md │ │ ├── common_git_issues.md │ │ ├── crafting_your_story.md │ │ ├── create_value.md │ │ ├── events.md │ │ ├── first_pr.md │ │ ├── git_basics.md │ │ ├── lightning-prisms.md │ │ ├── lightningfaucets.md │ │ ├── mentors.md │ │ ├── not_one_vertical.md │ │ ├── resources.md │ │ ├── testnet_how_to.md │ │ ├── unwritten_rules_foss.md │ │ └── why-nostr-wins.md ├── data.js ├── env.d.ts ├── icons │ ├── btc.svg │ ├── btcpay-logo.svg │ ├── faucet-drip.svg │ ├── lnbits.svg │ ├── nostr_logo_prpl.svg │ └── nostr_logo_prpl_wht_rnd.svg ├── layouts │ ├── LandingLayout.astro │ ├── Layout.astro │ ├── MarkdownLayout.astro │ └── PageLayout.astro ├── navigation.js ├── pages │ ├── 404.astro │ ├── Corp.astro │ ├── Indiv.astro │ ├── [...blog] │ │ ├── [...page].astro │ │ ├── [category] │ │ │ └── [...page].astro │ │ ├── [tag] │ │ │ └── [...page].astro │ │ └── index.astro │ ├── api │ │ ├── donate.js │ │ ├── get_invoice.js │ │ └── new-user.js │ ├── discord.astro │ ├── donate.astro │ ├── index.astro │ ├── join-us.astro │ ├── landing │ │ ├── click-through.astro │ │ ├── lead-generation.astro │ │ ├── pre-launch.astro │ │ ├── product.astro │ │ ├── sales.astro │ │ └── subscription.astro │ ├── privacy.md │ ├── rss.xml.ts │ ├── services.astro │ ├── supporters.astro │ ├── terms.md │ └── thankyou.astro ├── types.d.ts └── utils │ ├── blog.ts │ ├── config.ts │ ├── directories.ts │ ├── frontmatter.mjs │ ├── images-optimization.ts │ ├── images.ts │ ├── permalinks.ts │ ├── tasks.mjs │ └── utils.ts ├── svelte.config.js ├── tailwind.config.cjs ├── tsconfig.json ├── vercel.json └── vscode.tailwind.json /.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | Dockerfile 4 | docker-compose.yml 5 | .git 6 | .gitignore 7 | README.md 8 | LICENSE 9 | 10 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # https://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | [*] 7 | charset = utf-8 8 | end_of_line = lf 9 | indent_size = 2 10 | indent_style = space 11 | insert_final_newline = true 12 | trim_trailing_whitespace = false -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | # server side, DO NOT expose to client 2 | SUPABASE_URL='' 3 | SUPABASE_KEY='' 4 | PAYLINK_URL='your url here' 5 | 6 | # client side, public and available anywhere, uses PUBLIC prefix 7 | PUBLIC_INDIV_FEE=100000 8 | PUBLIC_CORP_FEE=300000 9 | 10 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | dist 2 | node_modules 3 | .github 4 | types.generated.d.ts -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | /** @type {import("eslint").Linter.Config} */ 2 | module.exports = { 3 | env: { 4 | node: true, 5 | es2022: true, 6 | browser: true, 7 | }, 8 | extends: ['eslint:recommended', 'plugin:astro/recommended'], 9 | parser: '@typescript-eslint/parser', 10 | parserOptions: { 11 | tsconfigRootDir: __dirname, 12 | ecmaVersion: 'latest', 13 | sourceType: 'module', 14 | }, 15 | rules: {}, 16 | overrides: [ 17 | { 18 | files: ['*.js'], 19 | rules: { 20 | 'no-mixed-spaces-and-tabs': ['error', 'smart-tabs'], 21 | }, 22 | }, 23 | { 24 | files: ['*.astro'], 25 | parser: 'astro-eslint-parser', 26 | parserOptions: { 27 | parser: '@typescript-eslint/parser', 28 | extraFileExtensions: ['.astro'], 29 | }, 30 | rules: { 31 | 'no-mixed-spaces-and-tabs': ['error', 'smart-tabs'], 32 | }, 33 | }, 34 | { 35 | files: ['*.ts'], 36 | parser: '@typescript-eslint/parser', 37 | extends: ['plugin:@typescript-eslint/recommended'], 38 | rules: { 39 | '@typescript-eslint/no-unused-vars': [ 40 | 'error', 41 | { argsIgnorePattern: '^_', destructuredArrayIgnorePattern: '^_' }, 42 | ], 43 | '@typescript-eslint/no-non-null-assertion': 'off', 44 | }, 45 | }, 46 | { 47 | // Define the configuration for ` 9 | 10 |
11 | 12 | 13 | 14 |