1 line
66 KiB
JSON
Executable File
1 line
66 KiB
JSON
Executable File
{"title":"","byline":"tryglow","dir":null,"lang":null,"content":"<div id=\"readability-page-1\" class=\"page\"><div data-turbo-body=\"\">\n \n\n\n <div>\n <p><a data-skip-target-assigned=\"false\" href=\"#start-of-content\">Skip to content</a>\n\n <span data-view-component=\"true\">\n <span data-view-component=\"true\"></span>\n</span></p>\n\n\n\n\n\n \n\n \n\n \n\n\n<header data-dark-theme=\"dark\" data-light-theme=\"light\" data-color-mode=\"light\" role=\"banner\">\n <h2>Navigation Menu</h2>\n\n \n\n <div>\n <div>\n \n\n <a data-analytics-event=\"{"category":"Marketing nav","action":"click to go to homepage","label":"ref_page:Marketing;ref_cta:Logomark;ref_loc:Header"}\" aria-label=\"Homepage\" href=\"https://github.com/\">\n \n </a>\n\n <div>\n <p><a data-analytics-event=\"{"category":"Marketing nav","action":"click to Sign in","label":"ref_page:Marketing;ref_cta:Sign in;ref_loc:Header"}\" data-hydro-click-hmac=\"37b84de5eaf9ece348209add2f6d77dbbb51340cbabbec87dd64d12fbf474e69\" data-hydro-click=\"{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/tryglow/glow?ref=selfh.st","user_id":null}}\" href=\"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Ftryglow%2Fglow%3Fref%3Dselfh.st\">\n Sign in\n </a>\n </p></div>\n </div>\n\n\n <div>\n <nav aria-label=\"Global\">\n <ul>\n <li>\n \n <div>\n <div>\n <ul>\n <li>\n <a href=\"https://github.com/features/actions\" data-analytics-event=\"{"location":"navbar","action":"actions","context":"product","tag":"link","label":"actions_link_product_navbar"}\">\n \n <div>\n <p>Actions</p><p>\n Automate any workflow\n </p></div>\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/features/packages\" data-analytics-event=\"{"location":"navbar","action":"packages","context":"product","tag":"link","label":"packages_link_product_navbar"}\">\n \n <div>\n <p>Packages</p><p>\n Host and manage packages\n </p></div>\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/features/security\" data-analytics-event=\"{"location":"navbar","action":"security","context":"product","tag":"link","label":"security_link_product_navbar"}\">\n \n <div>\n <p>Security</p><p>\n Find and fix vulnerabilities\n </p></div>\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/features/codespaces\" data-analytics-event=\"{"location":"navbar","action":"codespaces","context":"product","tag":"link","label":"codespaces_link_product_navbar"}\">\n \n <div>\n <p>Codespaces</p><p>\n Instant dev environments\n </p></div>\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/features/copilot\" data-analytics-event=\"{"location":"navbar","action":"github_copilot","context":"product","tag":"link","label":"github_copilot_link_product_navbar"}\">\n \n <div>\n <p>GitHub Copilot</p><p>\n Write better code with AI\n </p></div>\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/features/code-review\" data-analytics-event=\"{"location":"navbar","action":"code_review","context":"product","tag":"link","label":"code_review_link_product_navbar"}\">\n \n <div>\n <p>Code review</p><p>\n Manage code changes\n </p></div>\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/features/issues\" data-analytics-event=\"{"location":"navbar","action":"issues","context":"product","tag":"link","label":"issues_link_product_navbar"}\">\n \n <div>\n <p>Issues</p><p>\n Plan and track work\n </p></div>\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/features/discussions\" data-analytics-event=\"{"location":"navbar","action":"discussions","context":"product","tag":"link","label":"discussions_link_product_navbar"}\">\n \n <div>\n <p>Discussions</p><p>\n Collaborate outside of code\n </p></div>\n\n \n</a></li>\n\n </ul>\n </div>\n <div>\n <p><span id=\"product-explore-heading\">Explore</span></p><ul aria-labelledby=\"product-explore-heading\">\n <li>\n <a href=\"https://github.com/features\" data-analytics-event=\"{"location":"navbar","action":"all_features","context":"product","tag":"link","label":"all_features_link_product_navbar"}\">\n All features\n\n \n</a></li>\n\n <li>\n <a href=\"https://docs.github.com/\" data-analytics-event=\"{"location":"navbar","action":"documentation","context":"product","tag":"link","label":"documentation_link_product_navbar"}\">\n Documentation\n\n \n</a></li>\n\n <li>\n <a href=\"https://skills.github.com/\" data-analytics-event=\"{"location":"navbar","action":"github_skills","context":"product","tag":"link","label":"github_skills_link_product_navbar"}\">\n GitHub Skills\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.blog/\" data-analytics-event=\"{"location":"navbar","action":"blog","context":"product","tag":"link","label":"blog_link_product_navbar"}\">\n Blog\n\n \n</a></li>\n\n </ul>\n </div>\n </div>\n</li>\n\n <li>\n \n <div>\n <div>\n <p><span id=\"solutions-by-size-heading\">By size</span></p><ul aria-labelledby=\"solutions-by-size-heading\">\n <li>\n <a href=\"https://github.com/enterprise\" data-analytics-event=\"{"location":"navbar","action":"enterprise","context":"solutions","tag":"link","label":"enterprise_link_solutions_navbar"}\">\n Enterprise\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/team\" data-analytics-event=\"{"location":"navbar","action":"teams","context":"solutions","tag":"link","label":"teams_link_solutions_navbar"}\">\n Teams\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/enterprise/startups\" data-analytics-event=\"{"location":"navbar","action":"startups","context":"solutions","tag":"link","label":"startups_link_solutions_navbar"}\">\n Startups\n\n \n</a></li>\n\n </ul>\n </div>\n <div>\n <p><span id=\"solutions-by-industry-heading\">By industry</span></p><ul aria-labelledby=\"solutions-by-industry-heading\">\n <li>\n <a href=\"https://github.com/solutions/industries/healthcare\" data-analytics-event=\"{"location":"navbar","action":"healthcare","context":"solutions","tag":"link","label":"healthcare_link_solutions_navbar"}\">\n Healthcare\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/solutions/industries/financial-services\" data-analytics-event=\"{"location":"navbar","action":"financial_services","context":"solutions","tag":"link","label":"financial_services_link_solutions_navbar"}\">\n Financial services\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/solutions/industries/manufacturing\" data-analytics-event=\"{"location":"navbar","action":"manufacturing","context":"solutions","tag":"link","label":"manufacturing_link_solutions_navbar"}\">\n Manufacturing\n\n \n</a></li>\n\n </ul>\n </div>\n <div>\n <p><span id=\"solutions-by-use-case-heading\">By use case</span></p><ul aria-labelledby=\"solutions-by-use-case-heading\">\n <li>\n <a href=\"https://github.com/solutions/ci-cd\" data-analytics-event=\"{"location":"navbar","action":"ci_cd_amp_automation","context":"solutions","tag":"link","label":"ci_cd_amp_automation_link_solutions_navbar"}\">\n CI/CD & Automation\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/solutions/devops\" data-analytics-event=\"{"location":"navbar","action":"devops","context":"solutions","tag":"link","label":"devops_link_solutions_navbar"}\">\n DevOps\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/solutions/devsecops\" data-analytics-event=\"{"location":"navbar","action":"devsecops","context":"solutions","tag":"link","label":"devsecops_link_solutions_navbar"}\">\n DevSecOps\n\n \n</a></li>\n\n </ul>\n </div>\n </div>\n</li>\n\n <li>\n \n <div>\n <div>\n <p><span id=\"resources-topics-heading\">Topics</span></p><ul aria-labelledby=\"resources-topics-heading\">\n <li>\n <a href=\"https://github.com/resources/articles/ai\" data-analytics-event=\"{"location":"navbar","action":"ai","context":"resources","tag":"link","label":"ai_link_resources_navbar"}\">\n AI\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/resources/articles/devops\" data-analytics-event=\"{"location":"navbar","action":"devops","context":"resources","tag":"link","label":"devops_link_resources_navbar"}\">\n DevOps\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/resources/articles/security\" data-analytics-event=\"{"location":"navbar","action":"security","context":"resources","tag":"link","label":"security_link_resources_navbar"}\">\n Security\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/resources/articles/software-development\" data-analytics-event=\"{"location":"navbar","action":"software_development","context":"resources","tag":"link","label":"software_development_link_resources_navbar"}\">\n Software Development\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/resources/articles\" data-analytics-event=\"{"location":"navbar","action":"view_all","context":"resources","tag":"link","label":"view_all_link_resources_navbar"}\">\n View all\n\n \n</a></li>\n\n </ul>\n </div>\n <div>\n <p><span id=\"resources-explore-heading\">Explore</span></p><ul aria-labelledby=\"resources-explore-heading\">\n <li>\n <a href=\"https://resources.github.com/learn/pathways\" data-analytics-event=\"{"location":"navbar","action":"learning_pathways","context":"resources","tag":"link","label":"learning_pathways_link_resources_navbar"}\">\n Learning Pathways\n\n \n</a></li>\n\n <li>\n <a href=\"https://resources.github.com/\" data-analytics-event=\"{"location":"navbar","action":"white_papers_ebooks_webinars","context":"resources","tag":"link","label":"white_papers_ebooks_webinars_link_resources_navbar"}\">\n White papers, Ebooks, Webinars\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/customer-stories\" data-analytics-event=\"{"location":"navbar","action":"customer_stories","context":"resources","tag":"link","label":"customer_stories_link_resources_navbar"}\">\n Customer Stories\n\n \n</a></li>\n\n <li>\n <a href=\"https://partner.github.com/\" data-analytics-event=\"{"location":"navbar","action":"partners","context":"resources","tag":"link","label":"partners_link_resources_navbar"}\">\n Partners\n\n \n</a></li>\n\n </ul>\n </div>\n </div>\n</li>\n\n\n <li>\n \n <div>\n <div>\n <ul>\n <li>\n <a href=\"https://github.com/sponsors\" data-analytics-event=\"{"location":"navbar","action":"github_sponsors","context":"open_source","tag":"link","label":"github_sponsors_link_open_source_navbar"}\">\n \n <div>\n <p>GitHub Sponsors</p><p>\n Fund open source developers\n </p></div>\n\n \n</a></li>\n\n </ul>\n </div>\n <div>\n <ul>\n <li>\n <a href=\"https://github.com/readme\" data-analytics-event=\"{"location":"navbar","action":"the_readme_project","context":"open_source","tag":"link","label":"the_readme_project_link_open_source_navbar"}\">\n \n <div>\n <p>The ReadME Project</p><p>\n GitHub community articles\n </p></div>\n\n \n</a></li>\n\n </ul>\n </div>\n <div>\n <p><span id=\"open-source-repositories-heading\">Repositories</span></p><ul aria-labelledby=\"open-source-repositories-heading\">\n <li>\n <a href=\"https://github.com/topics\" data-analytics-event=\"{"location":"navbar","action":"topics","context":"open_source","tag":"link","label":"topics_link_open_source_navbar"}\">\n Topics\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/trending\" data-analytics-event=\"{"location":"navbar","action":"trending","context":"open_source","tag":"link","label":"trending_link_open_source_navbar"}\">\n Trending\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/collections\" data-analytics-event=\"{"location":"navbar","action":"collections","context":"open_source","tag":"link","label":"collections_link_open_source_navbar"}\">\n Collections\n\n \n</a></li>\n\n </ul>\n </div>\n </div>\n</li>\n\n\n <li>\n \n <div>\n <div>\n <ul>\n <li>\n <a href=\"https://github.com/enterprise\" data-analytics-event=\"{"location":"navbar","action":"enterprise_platform","context":"enterprise","tag":"link","label":"enterprise_platform_link_enterprise_navbar"}\">\n \n <div>\n <p>Enterprise platform</p><p>\n AI-powered developer platform\n </p></div>\n\n \n</a></li>\n\n </ul>\n </div>\n <div>\n <p><span id=\"enterprise-available-add-ons-heading\">Available add-ons</span></p><ul aria-labelledby=\"enterprise-available-add-ons-heading\">\n <li>\n <a href=\"https://github.com/enterprise/advanced-security\" data-analytics-event=\"{"location":"navbar","action":"advanced_security","context":"enterprise","tag":"link","label":"advanced_security_link_enterprise_navbar"}\">\n \n <div>\n <p>Advanced Security</p><p>\n Enterprise-grade security features\n </p></div>\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/features/copilot#enterprise\" data-analytics-event=\"{"location":"navbar","action":"github_copilot","context":"enterprise","tag":"link","label":"github_copilot_link_enterprise_navbar"}\">\n \n <div>\n <p>GitHub Copilot</p><p>\n Enterprise-grade AI features\n </p></div>\n\n \n</a></li>\n\n <li>\n <a href=\"https://github.com/premium-support\" data-analytics-event=\"{"location":"navbar","action":"premium_support","context":"enterprise","tag":"link","label":"premium_support_link_enterprise_navbar"}\">\n \n <div>\n <p>Premium Support</p><p>\n Enterprise-grade 24/7 support\n </p></div>\n\n \n</a></li>\n\n </ul>\n </div>\n </div>\n</li>\n\n\n <li>\n <a href=\"https://github.com/pricing\" data-analytics-event=\"{"location":"navbar","action":"pricing","context":"global","tag":"link","label":"pricing_link_global_navbar"}\">Pricing</a>\n</li>\n\n </ul>\n </nav>\n\n <div>\n \n\n\n\n <div data-modal-dialog-overlay=\"\" data-action=\"click:qbsearch-input#searchInputContainerClicked\">\n \n <h2 id=\"search-suggestions-dialog-header\">Search code, repositories, users, issues, pull requests...</h2>\n \n</div>\n \n <div>\n \n\n <dialog data-view-component=\"true\" aria-describedby=\"feedback-dialog-description\" aria-labelledby=\"feedback-dialog-title\" aria-modal=\"true\" id=\"feedback-dialog\" data-action=\"close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose\" data-target=\"qbsearch-input.feedbackDialog\">\n <div data-view-component=\"true\">\n <p>\n <h2 id=\"feedback-dialog-title\">\n Provide feedback\n </h2>\n \n </p>\n \n </div>\n \n <div data-view-component=\"true\"> <form method=\"post\" action=\"/search/feedback\" data-turbo=\"false\" id=\"code-search-feedback-form\">\n <p>We read every piece of feedback, and take your input very seriously.</p>\n \n \n <label for=\"include_email\">Include my email address so I can be contacted</label>\n</form></div>\n \n \n</dialog>\n\n \n \n\n <dialog data-view-component=\"true\" aria-describedby=\"custom-scopes-dialog-description\" aria-labelledby=\"custom-scopes-dialog-title\" aria-modal=\"true\" id=\"custom-scopes-dialog\" data-action=\"close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose\" data-target=\"custom-scopes.customScopesModalDialog\">\n <div data-view-component=\"true\">\n <p>\n <h2 id=\"custom-scopes-dialog-title\">\n Saved searches\n </h2>\n <h2 id=\"custom-scopes-dialog-description\">Use saved searches to filter your results more quickly</h2>\n </p>\n \n </div>\n \n \n \n \n</dialog>\n \n </div>\n\n\n <div>\n <p><a data-analytics-event=\"{"category":"Marketing nav","action":"click to go to homepage","label":"ref_page:Marketing;ref_cta:Sign in;ref_loc:Header"}\" data-hydro-click-hmac=\"37b84de5eaf9ece348209add2f6d77dbbb51340cbabbec87dd64d12fbf474e69\" data-hydro-click=\"{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/tryglow/glow?ref=selfh.st","user_id":null}}\" href=\"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Ftryglow%2Fglow%3Fref%3Dselfh.st\">\n Sign in\n </a>\n </p></div>\n\n <p><a data-analytics-event=\"{"category":"Sign up","action":"click to sign up for account","label":"ref_page:/<user-name>/<repo-name>/files/disambiguate;ref_cta:Sign up;ref_loc:header logged out"}\" data-hydro-click-hmac=\"37b84de5eaf9ece348209add2f6d77dbbb51340cbabbec87dd64d12fbf474e69\" data-hydro-click=\"{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/tryglow/glow?ref=selfh.st","user_id":null}}\" href=\"https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Ffiles%2Fdisambiguate&source=header-repo&source_repo=tryglow%2Fglow\">\n Sign up\n </a>\n \n </p></div>\n </div>\n </div>\n</header>\n\n \n </div>\n\n \n\n\n\n\n\n\n\n\n \n\n\n \n \n\n\n\n\n\n <div data-issue-and-pr-hovercards-enabled=\"\" data-discussion-hovercards-enabled=\"\" data-commit-hovercards-enabled=\"\">\n <main id=\"js-repo-pjax-container\">\n \n \n\n\n\n\n\n \n \n\n \n\n\n\n\n\n\n \n <div data-turbo-replace=\"\" id=\"repository-container-header\">\n\n <div>\n\n <div>\n \n \n <p><span>\n <a href=\"https://github.com/tryglow\" data-octo-dimensions=\"link_type:self\" data-octo-click=\"hovercard-link-click\" data-hovercard-url=\"/orgs/tryglow/hovercard\" data-hovercard-type=\"organization\" rel=\"author\">\n tryglow\n</a> </span>\n <span>/</span>\n <strong>\n <a href=\"https://github.com/tryglow/glow\" data-turbo-frame=\"repo-content-turbo-frame\" data-pjax=\"#repo-content-pjax-container\">glow</a>\n </strong>\n\n <span></span><span>Public</span>\n </p></div>\n\n <div data-turbo-replace=\"\" id=\"repository-details-container\">\n <ul>\n \n \n\n <li>\n <a aria-describedby=\"tooltip-767fb707-2836-4f6d-b162-a9e3a6fae8e4\" data-view-component=\"true\" aria-label=\"You must be signed in to change notification settings\" data-hydro-click-hmac=\"e84c337ebb9828cafa70e45c8126812b914321bc4e593a76bb278cac9c4e2f9b\" data-hydro-click=\"{"event_type":"authentication.click","payload":{"location_in_page":"notification subscription menu watch","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://github.com/tryglow/glow?ref=selfh.st","user_id":null}}\" id=\"repository-details-watch-button\" rel=\"nofollow\" href=\"https://github.com/login?return_to=%2Ftryglow%2Fglow\"> Notifications\n</a> You must be signed in to change notification settings\n\n </li>\n\n <li>\n <a data-view-component=\"true\" data-hydro-click-hmac=\"c9cbef25557e282d0fe4e5a525aec6e105ba960ca1763abc03300b74fad419da\" data-hydro-click=\"{"event_type":"authentication.click","payload":{"location_in_page":"repo details fork button","repository_id":744656234,"auth_type":"LOG_IN","originating_url":"https://github.com/tryglow/glow?ref=selfh.st","user_id":null}}\" rel=\"nofollow\" href=\"https://github.com/login?return_to=%2Ftryglow%2Fglow\" id=\"fork-button\"> Fork\n <span data-view-component=\"true\" title=\"12\" data-turbo-replace=\"true\" data-pjax-replace=\"true\" id=\"repo-network-counter\">12</span>\n</a>\n </li>\n\n <li>\n <p data-view-component=\"true\">\n <a data-view-component=\"true\" aria-label=\"You must be signed in to star a repository\" data-hydro-click-hmac=\"66cd6b7a64a03cf63659b9bcf4d05a1e13e0c5e918b22f6143bbb51a85a10dc3\" data-hydro-click=\"{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":744656234,"auth_type":"LOG_IN","originating_url":"https://github.com/tryglow/glow?ref=selfh.st","user_id":null}}\" rel=\"nofollow\" href=\"https://github.com/login?return_to=%2Ftryglow%2Fglow\"> <span data-view-component=\"true\">\n Star\n</span> <span data-view-component=\"true\" title=\"300\" data-turbo-replace=\"true\" data-plural-suffix=\"users starred this repository\" data-singular-suffix=\"user starred this repository\" aria-label=\"300 users starred this repository\" id=\"repo-stars-counter-star\">300</span>\n</a></p>\n </li>\n\n</ul>\n\n </div>\n </div>\n\n <div data-turbo-replace=\"\" id=\"responsive-meta-container\">\n <p>\n The dynamic personal homepage builder\n </p>\n <div>\n \n <p><span>\n <a href=\"https://glow.as/\" rel=\"noopener noreferrer\" role=\"link\" title=\"https://glow.as\">glow.as</a>\n </span>\n </p></div>\n\n \n <h3>License</h3>\n <p>\n <a data-analytics-event=\"{"category":"Repository Overview","action":"click","label":"location:sidebar;file:license"}\" href=\"https://github.com/tryglow/glow/blob/main/LICENSE\">\n \n MIT license\n </a>\n </p>\n\n\n <p>\n <a href=\"https://github.com/tryglow/glow/stargazers\">\n \n <span>300</span>\n stars\n</a> <a href=\"https://github.com/tryglow/glow/forks\">\n \n <span>12</span>\n forks\n</a> <a href=\"https://github.com/tryglow/glow/branches\">\n \n <span>Branches</span>\n</a> <a href=\"https://github.com/tryglow/glow/tags\">\n \n <span>Tags</span>\n</a> <a href=\"https://github.com/tryglow/glow/activity\">\n \n <span>Activity</span>\n</a> </p>\n\n <div>\n <div>\n <p data-view-component=\"true\">\n <a data-view-component=\"true\" aria-label=\"You must be signed in to star a repository\" data-hydro-click-hmac=\"66cd6b7a64a03cf63659b9bcf4d05a1e13e0c5e918b22f6143bbb51a85a10dc3\" data-hydro-click=\"{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":744656234,"auth_type":"LOG_IN","originating_url":"https://github.com/tryglow/glow?ref=selfh.st","user_id":null}}\" rel=\"nofollow\" href=\"https://github.com/login?return_to=%2Ftryglow%2Fglow\"> <span data-view-component=\"true\">\n Star\n</span>\n</a></p>\n </div>\n <div>\n <a aria-describedby=\"tooltip-423124dc-33e6-475e-8b26-468752297e6c\" data-view-component=\"true\" aria-label=\"You must be signed in to change notification settings\" data-hydro-click-hmac=\"e84c337ebb9828cafa70e45c8126812b914321bc4e593a76bb278cac9c4e2f9b\" data-hydro-click=\"{"event_type":"authentication.click","payload":{"location_in_page":"notification subscription menu watch","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://github.com/tryglow/glow?ref=selfh.st","user_id":null}}\" id=\"files-overview-watch-button\" rel=\"nofollow\" href=\"https://github.com/login?return_to=%2Ftryglow%2Fglow\"> Notifications\n</a><p> You must be signed in to change notification settings\n\n </p></div>\n </div>\n </div>\n\n\n <nav data-view-component=\"true\" aria-label=\"Repository\" data-pjax=\"#js-repo-pjax-container\">\n\n <ul data-view-component=\"true\">\n <li data-view-component=\"true\">\n <a data-view-component=\"true\" aria-current=\"page\" data-analytics-event=\"{"category":"Underline navbar","action":"Click tab","label":"Code","target":"UNDERLINE_NAV.TAB"}\" data-hotkey=\"g c\" data-turbo-frame=\"repo-content-turbo-frame\" data-pjax=\"#repo-content-pjax-container\" data-selected-links=\"repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments repo_attestations /tryglow/glow\" data-tab-item=\"i0code-tab\" href=\"https://github.com/tryglow/glow\" id=\"code-tab\">\n \n \n <span data-content=\"Code\">Code</span>\n <span data-view-component=\"true\" title=\"Not available\" data-turbo-replace=\"\" data-pjax-replace=\"\" id=\"code-repo-tab-count\"></span>\n\n\n \n</a></li>\n <li data-view-component=\"true\">\n <a data-view-component=\"true\" data-analytics-event=\"{"category":"Underline navbar","action":"Click tab","label":"Issues","target":"UNDERLINE_NAV.TAB"}\" data-hotkey=\"g i\" data-turbo-frame=\"repo-content-turbo-frame\" data-pjax=\"#repo-content-pjax-container\" data-selected-links=\"repo_issues repo_labels repo_milestones /tryglow/glow/issues /_view_fragments/issues/index/tryglow/glow/layout\" data-tab-item=\"i1issues-tab\" href=\"https://github.com/tryglow/glow/issues\" id=\"issues-tab\">\n \n \n <span data-content=\"Issues\">Issues</span>\n <span data-view-component=\"true\" title=\"1\" data-turbo-replace=\"\" data-pjax-replace=\"\" id=\"issues-repo-tab-count\">1</span>\n\n\n \n</a></li>\n <li data-view-component=\"true\">\n <a data-view-component=\"true\" data-analytics-event=\"{"category":"Underline navbar","action":"Click tab","label":"Pull requests","target":"UNDERLINE_NAV.TAB"}\" data-hotkey=\"g p\" data-turbo-frame=\"repo-content-turbo-frame\" data-pjax=\"#repo-content-pjax-container\" data-selected-links=\"repo_pulls checks /tryglow/glow/pulls\" data-tab-item=\"i2pull-requests-tab\" href=\"https://github.com/tryglow/glow/pulls\" id=\"pull-requests-tab\">\n \n \n <span data-content=\"Pull requests\">Pull requests</span>\n \n\n\n \n</a></li>\n <li data-view-component=\"true\">\n <a data-view-component=\"true\" data-analytics-event=\"{"category":"Underline navbar","action":"Click tab","label":"Discussions","target":"UNDERLINE_NAV.TAB"}\" data-hotkey=\"g g\" data-turbo-frame=\"repo-content-turbo-frame\" data-pjax=\"#repo-content-pjax-container\" data-selected-links=\"repo_discussions /tryglow/glow/discussions\" data-tab-item=\"i3discussions-tab\" href=\"https://github.com/tryglow/glow/discussions\" id=\"discussions-tab\">\n \n \n <span data-content=\"Discussions\">Discussions</span>\n <span data-view-component=\"true\" title=\"Not available\" data-turbo-replace=\"\" data-pjax-replace=\"\" id=\"discussions-repo-tab-count\"></span>\n\n\n \n</a></li>\n <li data-view-component=\"true\">\n <a data-view-component=\"true\" data-analytics-event=\"{"category":"Underline navbar","action":"Click tab","label":"Security","target":"UNDERLINE_NAV.TAB"}\" data-hotkey=\"g s\" data-turbo-frame=\"repo-content-turbo-frame\" data-pjax=\"#repo-content-pjax-container\" data-selected-links=\"security overview alerts policy token_scanning code_scanning /tryglow/glow/security\" data-tab-item=\"i4security-tab\" href=\"https://github.com/tryglow/glow/security\" id=\"security-tab\">\n \n \n <span data-content=\"Security\">Security</span>\n \n\n \n</a></li>\n <li data-view-component=\"true\">\n <a data-view-component=\"true\" data-analytics-event=\"{"category":"Underline navbar","action":"Click tab","label":"Insights","target":"UNDERLINE_NAV.TAB"}\" data-turbo-frame=\"repo-content-turbo-frame\" data-pjax=\"#repo-content-pjax-container\" data-selected-links=\"repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /tryglow/glow/pulse\" data-tab-item=\"i5insights-tab\" href=\"https://github.com/tryglow/glow/pulse\" id=\"insights-tab\">\n \n \n <span data-content=\"Insights\">Insights</span>\n <span data-view-component=\"true\" title=\"Not available\" data-turbo-replace=\"\" data-pjax-replace=\"\" id=\"insights-repo-tab-count\"></span>\n\n\n \n</a></li>\n</ul>\n <div data-view-component=\"true\"> \n \n <p>Additional navigation options\n\n\n\n </p><div data-view-component=\"true\">\n <ul data-view-component=\"true\" role=\"menu\" id=\"action-menu-6c2e9640-5314-4119-b994-fd628dbf5a85-list\" aria-labelledby=\"action-menu-6c2e9640-5314-4119-b994-fd628dbf5a85-button\">\n \n \n \n \n \n \n</ul> \n</div> \n</div>\n</nav>\n\n </div>\n\n \n\n\n\n\n <div id=\"repo-content-pjax-container\">\n \n\n\n\n \n \n <h2>tryglow/glow</h2>\n <div data-view-component=\"true\">\n <div data-target=\"react-partial.reactRoot\" data-view-component=\"true\"><div><div><p><a aria-describedby=\":Rclab:-loading-announcement\" data-loading=\"false\" href=\"https://github.com/tryglow/glow/branches\" type=\"button\"><span data-component=\"buttonContent\"><span data-component=\"leadingVisual\"></span><span data-component=\"text\">Branches</span></span></a><a aria-describedby=\":Rklab:-loading-announcement\" data-loading=\"false\" href=\"https://github.com/tryglow/glow/tags\" type=\"button\"><span data-component=\"buttonContent\"><span data-component=\"leadingVisual\"></span><span data-component=\"text\">Tags</span></span></a></p></div></div><div><div data-hpc=\"true\"><h2 id=\"folders-and-files\" data-testid=\"screen-reader-heading\">Folders and files</h2><table aria-labelledby=\"folders-and-files\"><thead><tr><th colspan=\"2\"><span>Name</span></th><th colspan=\"1\"><span>Name</span></th><th><p><span>Last commit message</span></p></th><th colspan=\"1\"><p><span>Last commit date</span></p></th></tr></thead><tbody><tr><td colspan=\"3\"><div><h2 data-testid=\"screen-reader-heading\">Latest commit</h2><div><h2 data-testid=\"screen-reader-heading\">History</h2><p><a aria-describedby=\":Raqj8pab:-loading-announcement\" data-size=\"small\" data-loading=\"false\" href=\"https://github.com/tryglow/glow/commits/main/\"><span data-component=\"buttonContent\"><span data-component=\"leadingVisual\"></span><span data-component=\"text\"><span>241 Commits</span></span></span></a></p></div></div></td></tr><tr id=\"folder-row-0\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/tree/main/.github\" aria-label=\".github, (Directory)\" title=\".github\">.github</a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/tree/main/.github\" aria-label=\".github, (Directory)\" title=\".github\">.github</a></p></div></td><td></td><td></td></tr><tr id=\"folder-row-1\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/tree/main/app\" aria-label=\"app, (Directory)\" title=\"app\">app</a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/tree/main/app\" aria-label=\"app, (Directory)\" title=\"app\">app</a></p></div></td><td></td><td></td></tr><tr id=\"folder-row-2\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/tree/main/components/ui\" aria-label=\"components/ui, (Directory)\" title=\"This path skips through empty directories\"><span data-testid=\"path-name-segment\">components/</span><span data-testid=\"path-name-segment\">ui</span></a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/tree/main/components/ui\" aria-label=\"components/ui, (Directory)\" title=\"This path skips through empty directories\"><span data-testid=\"path-name-segment\">components/</span><span data-testid=\"path-name-segment\">ui</span></a></p></div></td><td></td><td></td></tr><tr id=\"folder-row-3\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/tree/main/lib\" aria-label=\"lib, (Directory)\" title=\"lib\">lib</a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/tree/main/lib\" aria-label=\"lib, (Directory)\" title=\"lib\">lib</a></p></div></td><td></td><td></td></tr><tr id=\"folder-row-4\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/tree/main/notifications\" aria-label=\"notifications, (Directory)\" title=\"notifications\">notifications</a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/tree/main/notifications\" aria-label=\"notifications, (Directory)\" title=\"notifications\">notifications</a></p></div></td><td></td><td></td></tr><tr id=\"folder-row-5\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/tree/main/prisma\" aria-label=\"prisma, (Directory)\" title=\"prisma\">prisma</a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/tree/main/prisma\" aria-label=\"prisma, (Directory)\" title=\"prisma\">prisma</a></p></div></td><td></td><td></td></tr><tr id=\"folder-row-6\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/tree/main/public\" aria-label=\"public, (Directory)\" title=\"public\">public</a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/tree/main/public\" aria-label=\"public, (Directory)\" title=\"public\">public</a></p></div></td><td></td><td></td></tr><tr id=\"folder-row-7\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/tree/main/types\" aria-label=\"types, (Directory)\" title=\"types\">types</a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/tree/main/types\" aria-label=\"types, (Directory)\" title=\"types\">types</a></p></div></td><td></td><td></td></tr><tr id=\"folder-row-8\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/.env.example\" aria-label=\".env.example, (File)\" title=\".env.example\">.env.example</a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/.env.example\" aria-label=\".env.example, (File)\" title=\".env.example\">.env.example</a></p></div></td><td></td><td></td></tr><tr id=\"folder-row-9\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/.eslintrc.json\" aria-label=\".eslintrc.json, (File)\" title=\".eslintrc.json\">.eslintrc.json</a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/.eslintrc.json\" aria-label=\".eslintrc.json, (File)\" title=\".eslintrc.json\">.eslintrc.json</a></p></div></td><td></td><td></td></tr><tr id=\"folder-row-10\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/.gitignore\" aria-label=\".gitignore, (File)\" title=\".gitignore\">.gitignore</a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/.gitignore\" aria-label=\".gitignore, (File)\" title=\".gitignore\">.gitignore</a></p></div></td><td></td><td></td></tr><tr id=\"folder-row-11\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/LICENSE\" aria-label=\"LICENSE, (File)\" title=\"LICENSE\">LICENSE</a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/LICENSE\" aria-label=\"LICENSE, (File)\" title=\"LICENSE\">LICENSE</a></p></div></td><td></td><td></td></tr><tr id=\"folder-row-12\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/README.md\" aria-label=\"README.md, (File)\" title=\"README.md\">README.md</a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/README.md\" aria-label=\"README.md, (File)\" title=\"README.md\">README.md</a></p></div></td><td></td><td></td></tr><tr id=\"folder-row-13\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/components.json\" aria-label=\"components.json, (File)\" title=\"components.json\">components.json</a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/components.json\" aria-label=\"components.json, (File)\" title=\"components.json\">components.json</a></p></div></td><td></td><td></td></tr><tr id=\"folder-row-14\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/docker-compose.yml\" aria-label=\"docker-compose.yml, (File)\" title=\"docker-compose.yml\">docker-compose.yml</a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/docker-compose.yml\" aria-label=\"docker-compose.yml, (File)\" title=\"docker-compose.yml\">docker-compose.yml</a></p></div></td><td></td><td></td></tr><tr id=\"folder-row-15\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/next.config.js\" aria-label=\"next.config.js, (File)\" title=\"next.config.js\">next.config.js</a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/next.config.js\" aria-label=\"next.config.js, (File)\" title=\"next.config.js\">next.config.js</a></p></div></td><td></td><td></td></tr><tr id=\"folder-row-16\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/package-lock.json\" aria-label=\"package-lock.json, (File)\" title=\"package-lock.json\">package-lock.json</a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/package-lock.json\" aria-label=\"package-lock.json, (File)\" title=\"package-lock.json\">package-lock.json</a></p></div></td><td></td><td></td></tr><tr id=\"folder-row-17\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/package.json\" aria-label=\"package.json, (File)\" title=\"package.json\">package.json</a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/package.json\" aria-label=\"package.json, (File)\" title=\"package.json\">package.json</a></p></div></td><td></td><td></td></tr><tr id=\"folder-row-18\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/postcss.config.js\" aria-label=\"postcss.config.js, (File)\" title=\"postcss.config.js\">postcss.config.js</a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/postcss.config.js\" aria-label=\"postcss.config.js, (File)\" title=\"postcss.config.js\">postcss.config.js</a></p></div></td><td></td><td></td></tr><tr id=\"folder-row-19\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/prettier.config.js\" aria-label=\"prettier.config.js, (File)\" title=\"prettier.config.js\">prettier.config.js</a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/prettier.config.js\" aria-label=\"prettier.config.js, (File)\" title=\"prettier.config.js\">prettier.config.js</a></p></div></td><td></td><td></td></tr><tr id=\"folder-row-20\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/tailwind.config.ts\" aria-label=\"tailwind.config.ts, (File)\" title=\"tailwind.config.ts\">tailwind.config.ts</a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/tailwind.config.ts\" aria-label=\"tailwind.config.ts, (File)\" title=\"tailwind.config.ts\">tailwind.config.ts</a></p></div></td><td></td><td></td></tr><tr id=\"folder-row-21\"><td colspan=\"2\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/tsconfig.json\" aria-label=\"tsconfig.json, (File)\" title=\"tsconfig.json\">tsconfig.json</a></p></div></td><td colspan=\"1\"><div><p><a href=\"https://github.com/tryglow/glow/blob/main/tsconfig.json\" aria-label=\"tsconfig.json, (File)\" title=\"tsconfig.json\">tsconfig.json</a></p></div></td><td></td><td></td></tr><tr data-testid=\"view-all-files-row\"><td colspan=\"3\"></td></tr></tbody></table></div><div><div><h2>Repository files navigation</h2><nav aria-label=\"Repository files\"><ul role=\"list\"><li><a aria-current=\"page\" href=\"#\"><span data-component=\"icon\"></span><span data-content=\"README\" data-component=\"text\">README</span></a></li><li><a href=\"#\"><span data-component=\"icon\"></span><span data-content=\"MIT license\" data-component=\"text\">MIT license</span></a></li></ul></nav></div><div data-hpc=\"true\"><article><a rel=\"nofollow\" href=\"https://glow.as/\">\n <img src=\"https://github.com/tryglow/glow/raw/main/.github/cover.png\" alt=\"Glow - The open-source dynamic personal page builder\">\n</a>\n<p dir=\"auto\"><h3 dir=\"auto\" tabindex=\"-1\">Glow</h3><a href=\"#glow\" aria-label=\"Permalink: Glow\" id=\"user-content-glow\"></a></p>\n<div dir=\"auto\"><p>\n An open-source dynamic personal page builder.\n </p><p>\n \n <a href=\"#hello\"><strong>Introduction</strong></a> ·\n <a href=\"#tech-stack\"><strong>Tech Stack</strong></a> ·\n <a href=\"#self-hosting\"><strong>Self-hosting</strong></a> ·\n <a href=\"#license\"><strong>License</strong></a></p></div>\n\n<p dir=\"auto\"><h2 dir=\"auto\" tabindex=\"-1\">Hello</h2><a href=\"#hello\" aria-label=\"Permalink: Hello\" id=\"user-content-hello\"></a></p>\n<p dir=\"auto\">Glow is an open-source dynamic personal page builder.</p>\n<details open=\"\">\n <summary>\n \n <span aria-label=\"Video description demo.mp4\">demo.mp4</span>\n <span></span>\n </summary>\n\n <video muted=\"muted\" controls=\"controls\" data-canonical-src=\"https://private-user-images.githubusercontent.com/3749759/358835155-d2c04b21-eb96-459b-8751-0c2bcb904da8.mp4?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjUxMjkyMTQsIm5iZiI6MTcyNTEyODkxNCwicGF0aCI6Ii8zNzQ5NzU5LzM1ODgzNTE1NS1kMmMwNGIyMS1lYjk2LTQ1OWItODc1MS0wYzJiY2I5MDRkYTgubXA0P1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDgzMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA4MzFUMTgyODM0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9OTEzMTJiOTVhNDdhNzE4OGY1ZDc1ZDA2YzI3ODQ4YWMxMDJmODA4NTJhYzI4OGE3NDAyZGI0ZmMzMGEzMWQyMiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.yb5UsgRJBPSSjxdYG3oQqqlBV3J3k42-rQruKSOdFJw\" src=\"https://private-user-images.githubusercontent.com/3749759/358835155-d2c04b21-eb96-459b-8751-0c2bcb904da8.mp4?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjUxMjkyMTQsIm5iZiI6MTcyNTEyODkxNCwicGF0aCI6Ii8zNzQ5NzU5LzM1ODgzNTE1NS1kMmMwNGIyMS1lYjk2LTQ1OWItODc1MS0wYzJiY2I5MDRkYTgubXA0P1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDgzMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA4MzFUMTgyODM0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9OTEzMTJiOTVhNDdhNzE4OGY1ZDc1ZDA2YzI3ODQ4YWMxMDJmODA4NTJhYzI4OGE3NDAyZGI0ZmMzMGEzMWQyMiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.yb5UsgRJBPSSjxdYG3oQqqlBV3J3k42-rQruKSOdFJw\">\n\n </video>\n</details>\n\n<p dir=\"auto\"><h2 dir=\"auto\" tabindex=\"-1\">Tech Stack</h2><a href=\"#tech-stack\" aria-label=\"Permalink: Tech Stack\" id=\"user-content-tech-stack\"></a></p>\n<ul dir=\"auto\">\n<li><a rel=\"nofollow\" href=\"https://nextjs.org/\">Next.js</a> – framework</li>\n<li><a rel=\"nofollow\" href=\"https://www.typescriptlang.org/\">TypeScript</a> – language</li>\n<li><a rel=\"nofollow\" href=\"https://tailwindcss.com/\">Tailwind</a> – CSS</li>\n<li><a rel=\"nofollow\" href=\"https://next-auth.js.org/\">NextAuth.js</a> – auth</li>\n<li><a rel=\"nofollow\" href=\"https://resend.com/\">Resend</a> – emails</li>\n<li><a rel=\"nofollow\" href=\"https://vercel.com/\">Vercel</a> – deployments</li>\n</ul>\n<p dir=\"auto\"><h2 dir=\"auto\" tabindex=\"-1\">Self-Hosting</h2><a href=\"#self-hosting\" aria-label=\"Permalink: Self-Hosting\" id=\"user-content-self-hosting\"></a></p>\n<p dir=\"auto\">You can self-host Glow if you would like to run it yourself. I haven't written up a guide yet, but watch this space! (or just get stuck in and try it out yourself!)</p>\n<p dir=\"auto\"><h2 dir=\"auto\" tabindex=\"-1\">License</h2><a href=\"#license\" aria-label=\"Permalink: License\" id=\"user-content-license\"></a></p>\n<p dir=\"auto\">Please see the <a href=\"https://github.com/tryglow/glow/blob/main/LICENSE\">LICENSE</a> file for more information.</p>\n</article></div></div></div></div>\n <div data-pjax=\"\" data-view-component=\"true\">\n <div>\n <h2>About</h2>\n\n <p>\n The dynamic personal homepage builder\n </p>\n <div>\n \n <p><span>\n <a href=\"https://glow.as/\" rel=\"noopener noreferrer nofollow\" role=\"link\" title=\"https://glow.as\">glow.as</a>\n </span>\n </p></div>\n\n\n <h3>Resources</h3>\n <p>\n <a href=\"#readme-ov-file\" data-analytics-event=\"{"category":"Repository Overview","action":"click","label":"location:sidebar;file:readme"}\">\n \n Readme\n</a> </p>\n\n \n <h3>License</h3>\n <p>\n <a data-analytics-event=\"{"category":"Repository Overview","action":"click","label":"location:sidebar;file:license"}\" href=\"#MIT-1-ov-file\">\n \n MIT license\n </a>\n </p>\n\n\n\n\n \n \n\n <p>\n <a data-view-component=\"true\" href=\"https://github.com/tryglow/glow/activity\">\n \n <span>Activity</span>\n</a> </p>\n\n <p>\n <a data-view-component=\"true\" href=\"https://github.com/tryglow/glow/custom-properties\">\n \n <span>Custom properties</span>\n</a> </p>\n\n <h3>Stars</h3>\n <p>\n <a data-view-component=\"true\" href=\"https://github.com/tryglow/glow/stargazers\">\n \n <strong>300</strong>\n stars\n</a> </p>\n\n <h3>Watchers</h3>\n <p>\n <a data-view-component=\"true\" href=\"https://github.com/tryglow/glow/watchers\">\n \n <strong>3</strong>\n watching\n</a> </p>\n\n <h3>Forks</h3>\n <p>\n <a data-view-component=\"true\" href=\"https://github.com/tryglow/glow/forks\">\n \n <strong>12</strong>\n forks\n</a> </p>\n\n <div>\n <p><a href=\"https://github.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Ftryglow%2Fglow&report=tryglow+%28user%29\">\n Report repository\n</a> </p></div>\n</div>\n\n \n \n \n \n \n\n \n \n \n <div>\n <h2>Languages</h2>\n\n<ul>\n <li>\n <a data-ga-click=\"Repository, language stats search click, location:repo overview\" href=\"https://github.com/tryglow/glow/search?l=typescript\">\n \n <span>TypeScript</span>\n <span>97.6%</span>\n </a>\n </li>\n <li>\n <a data-ga-click=\"Repository, language stats search click, location:repo overview\" href=\"https://github.com/tryglow/glow/search?l=scss\">\n \n <span>SCSS</span>\n <span>1.1%</span>\n </a>\n </li>\n <li>\n <span>\n \n <span>Other</span>\n <span>1.3%</span>\n </span>\n </li>\n</ul>\n\n </div>\n\n </div>\n \n</div>\n\n\n </div>\n\n\n\n\n </main>\n </div>\n\n \n\n\n\n\n \n\n\n \n\n <template id=\"site-details-dialog\">\n <details open=\"\" class=\"details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm\">\n <summary aria-label=\"Close dialog\" role=\"button\"></summary>\n \n <button data-close-dialog=\"\" aria-label=\"Close dialog\" type=\"button\" class=\"Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0\">\n <svg class=\"octicon octicon-x\" data-view-component=\"true\" width=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" height=\"16\" aria-hidden=\"true\">\n <path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path>\n</svg>\n </button>\n <div class=\"octocat-spinner my-6 js-details-dialog-spinner\"></div>\n \n </details>\n</template>\n\n \n\n <template id=\"snippet-clipboard-copy-button\">\n <div class=\"zeroclipboard-container position-absolute right-0 top-0\">\n \n <svg class=\"octicon octicon-copy js-clipboard-copy-icon m-2\" data-view-component=\"true\" width=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" height=\"16\" aria-hidden=\"true\">\n <path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"></path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"></path>\n</svg>\n <svg class=\"octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2\" data-view-component=\"true\" width=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" height=\"16\" aria-hidden=\"true\">\n <path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path>\n</svg>\n \n </div>\n</template>\n<template id=\"snippet-clipboard-copy-button-unpositioned\">\n <div class=\"zeroclipboard-container\">\n \n <svg class=\"octicon octicon-copy js-clipboard-copy-icon\" data-view-component=\"true\" width=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" height=\"16\" aria-hidden=\"true\">\n <path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"></path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"></path>\n</svg>\n <svg class=\"octicon octicon-check js-clipboard-check-icon color-fg-success d-none\" data-view-component=\"true\" width=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" height=\"16\" aria-hidden=\"true\">\n <path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path>\n</svg>\n \n </div>\n</template>\n\n\n\n\n </div></div>","textContent":"\n \n\n\n \n Skip to content\n\n \n \n\n\n\n\n\n\n \n\n \n\n \n\n\n\n Navigation Menu\n\n \n\n \n \n \n\n \n \n \n\n \n \n Sign in\n \n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Actions\n Automate any workflow\n \n\n \n\n\n \n \n \n \n Packages\n Host and manage packages\n \n\n \n\n\n \n \n \n \n Security\n Find and fix vulnerabilities\n \n\n \n\n\n \n \n \n \n Codespaces\n Instant dev environments\n \n\n \n\n\n \n \n \n \n GitHub Copilot\n Write better code with AI\n \n\n \n\n\n \n \n \n \n Code review\n Manage code changes\n \n\n \n\n\n \n \n \n \n Issues\n Plan and track work\n \n\n \n\n\n \n \n \n \n Discussions\n Collaborate outside of code\n \n\n \n\n\n \n \n \n Explore\n \n \n All features\n\n \n\n\n \n \n Documentation\n\n \n\n\n \n \n GitHub Skills\n\n \n\n\n \n \n Blog\n\n \n\n\n \n \n \n\n\n \n \n \n \n By size\n \n \n Enterprise\n\n \n\n\n \n \n Teams\n\n \n\n\n \n \n Startups\n\n \n\n\n \n \n \n By industry\n \n \n Healthcare\n\n \n\n\n \n \n Financial services\n\n \n\n\n \n \n Manufacturing\n\n \n\n\n \n \n \n By use case\n \n \n CI/CD & Automation\n\n \n\n\n \n \n DevOps\n\n \n\n\n \n \n DevSecOps\n\n \n\n\n \n \n \n\n\n \n \n \n \n Topics\n \n \n AI\n\n \n\n\n \n \n DevOps\n\n \n\n\n \n \n Security\n\n \n\n\n \n \n Software Development\n\n \n\n\n \n \n View all\n\n \n\n\n \n \n \n Explore\n \n \n Learning Pathways\n\n \n\n\n \n \n White papers, Ebooks, Webinars\n\n \n\n\n \n \n Customer Stories\n\n \n\n\n \n \n Partners\n\n \n\n\n \n \n \n\n\n\n \n \n \n \n \n \n \n \n \n GitHub Sponsors\n Fund open source developers\n \n\n \n\n\n \n \n \n \n \n \n \n \n The ReadME Project\n GitHub community articles\n \n\n \n\n\n \n \n \n Repositories\n \n \n Topics\n\n \n\n\n \n \n Trending\n\n \n\n\n \n \n Collections\n\n \n\n\n \n \n \n\n\n\n \n \n \n \n \n \n \n \n \n Enterprise platform\n AI-powered developer platform\n \n\n \n\n\n \n \n \n Available add-ons\n \n \n \n \n Advanced Security\n Enterprise-grade security features\n \n\n \n\n\n \n \n \n \n GitHub Copilot\n Enterprise-grade AI features\n \n\n \n\n\n \n \n \n \n Premium Support\n Enterprise-grade 24/7 support\n \n\n \n\n\n \n \n \n\n\n\n \n Pricing\n\n\n \n \n\n \n \n\n\n\n \n \n Search code, repositories, users, issues, pull requests...\n \n\n \n \n \n\n \n \n \n \n Provide feedback\n \n \n \n \n \n \n \n We read every piece of feedback, and take your input very seriously.\n \n \n Include my email address so I can be contacted\n\n \n \n\n\n \n \n\n \n \n \n \n Saved searches\n \n Use saved searches to filter your results more quickly\n \n \n \n \n \n \n \n\n \n \n\n\n \n \n Sign in\n \n \n\n \n Sign up\n \n \n \n \n \n\n\n \n \n\n \n\n\n\n\n\n\n\n\n \n\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n\n\n\n \n \n\n \n\n\n\n\n\n\n \n \n\n \n\n \n \n \n \n \n tryglow\n \n /\n \n glow\n \n\n Public\n \n\n \n \n \n \n\n \n Notifications\n You must be signed in to change notification settings\n\n \n\n \n Fork\n 12\n\n \n\n \n \n \n Star\n 300\n\n \n\n\n\n \n \n\n \n \n The dynamic personal homepage builder\n \n \n \n \n glow.as\n \n \n\n \n License\n \n \n \n MIT license\n \n \n\n\n \n \n \n 300\n stars\n \n \n 12\n forks\n \n \n Branches\n \n \n Tags\n \n \n Activity\n \n\n \n \n \n \n Star\n\n\n \n \n Notifications\n You must be signed in to change notification settings\n\n \n \n \n\n\n \n\n \n \n \n \n \n Code\n \n\n\n \n\n \n \n \n \n Issues\n 1\n\n\n \n\n \n \n \n \n Pull requests\n \n\n\n \n\n \n \n \n \n Discussions\n \n\n\n \n\n \n \n \n \n Security\n \n\n \n\n \n \n \n \n Insights\n \n\n\n \n\n\n \n \n Additional navigation options\n\n\n\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n\n \n\n\n\n\n \n \n\n\n\n \n \n tryglow/glow\n \n BranchesTagsFolders and filesNameNameLast commit messageLast commit dateLatest commitHistory241 Commits.github.githubappappcomponents/uicomponents/uiliblibnotificationsnotificationsprismaprismapublicpublictypestypes.env.example.env.example.eslintrc.json.eslintrc.json.gitignore.gitignoreLICENSELICENSEREADME.mdREADME.mdcomponents.jsoncomponents.jsondocker-compose.ymldocker-compose.ymlnext.config.jsnext.config.jspackage-lock.jsonpackage-lock.jsonpackage.jsonpackage.jsonpostcss.config.jspostcss.config.jsprettier.config.jsprettier.config.jstailwind.config.tstailwind.config.tstsconfig.jsontsconfig.jsonRepository files navigationREADMEMIT license\n \n\nGlow\n\n An open-source dynamic personal page builder.\n \n \n Introduction ·\n Tech Stack ·\n Self-hosting ·\n License\n\nHello\nGlow is an open-source dynamic personal page builder.\n\n \n \n demo.mp4\n \n \n\n \n\n \n\n\nTech Stack\n\nNext.js – framework\nTypeScript – language\nTailwind – CSS\nNextAuth.js – auth\nResend – emails\nVercel – deployments\n\nSelf-Hosting\nYou can self-host Glow if you would like to run it yourself. I haven't written up a guide yet, but watch this space! (or just get stuck in and try it out yourself!)\nLicense\nPlease see the LICENSE file for more information.\n\n \n \n About\n\n \n The dynamic personal homepage builder\n \n \n \n \n glow.as\n \n \n\n\n Resources\n \n \n \n Readme\n \n\n \n License\n \n \n \n MIT license\n \n \n\n\n\n\n \n \n\n \n \n \n Activity\n \n\n \n \n \n Custom properties\n \n\n Stars\n \n \n \n 300\n stars\n \n\n Watchers\n \n \n \n 3\n watching\n \n\n Forks\n \n \n \n 12\n forks\n \n\n \n \n Report repository\n \n\n\n \n \n \n \n \n\n \n \n \n \n Languages\n\n\n \n \n \n TypeScript\n 97.6%\n \n \n \n \n \n SCSS\n 1.1%\n \n \n \n \n \n Other\n 1.3%\n \n \n\n\n \n\n \n \n\n\n\n \n\n\n\n\n \n \n\n \n\n\n\n\n \n\n\n \n\n \n\n \n\n \n\n\n\n\n\n ","length":8431,"excerpt":"Skip to content","siteName":null} |