diff --git a/docs/.vitepress/components/CliGenerator.vue b/docs/.vitepress/components/CliGenerator.vue index 430dec24..378f6eae 100644 --- a/docs/.vitepress/components/CliGenerator.vue +++ b/docs/.vitepress/components/CliGenerator.vue @@ -744,10 +744,26 @@ h2 { } select { - border-radius: 4px; + border-radius: 8px; border: 1px solid var(--vp-c-divider); - padding: 0 4px; + padding: 8px 12px; width: 300px; + background-color: var(--vp-c-bg-soft); + color: var(--vp-c-text-1); + font-size: 14px; + transition: all 0.2s ease; + cursor: pointer; + outline: none; +} + +select:hover { + border-color: var(--vp-c-brand-1); + background-color: var(--vp-c-bg); +} + +select:focus { + border-color: var(--vp-c-brand-1); + box-shadow: 0 0 0 3px var(--vp-c-brand-soft); } .my-btn { @@ -781,17 +797,160 @@ select { .textarea { border: 1px solid var(--vp-c-divider); - border-radius: 4px; - width: calc(100% - 12px); - padding: 4px 8px; + border-radius: 8px; + width: calc(100% - 24px); + padding: 12px; + background-color: var(--vp-c-bg-soft); + color: var(--vp-c-text-1); + font-size: 14px; + font-family: var(--vp-font-family-mono); + line-height: 1.5; + transition: all 0.2s ease; + outline: none; + resize: vertical; +} + +.textarea:hover { + border-color: var(--vp-c-brand-1); + background-color: var(--vp-c-bg); +} + +.textarea:focus { + border-color: var(--vp-c-brand-1); + box-shadow: 0 0 0 3px var(--vp-c-brand-soft); } .input { display: block; border: 1px solid var(--vp-c-divider); - border-radius: 4px; + border-radius: 8px; width: 100%; - padding: 4px 8px; + padding: 10px 12px; + background-color: var(--vp-c-bg-soft); + color: var(--vp-c-text-1); + font-size: 14px; + transition: all 0.2s ease; + outline: none; + box-sizing: border-box; +} + +.input:hover { + border-color: var(--vp-c-brand-1); + background-color: var(--vp-c-bg); +} + +.input:focus { + border-color: var(--vp-c-brand-1); + box-shadow: 0 0 0 3px var(--vp-c-brand-soft); +} + +/* Radio button styles */ +input[type="radio"] { + appearance: none; + width: 18px; + height: 18px; + border: 2px solid var(--vp-c-border); + border-radius: 50%; + background-color: var(--vp-c-bg); + cursor: pointer; + position: relative; + vertical-align: middle; + margin-right: 6px; + transition: all 0.2s ease; +} + +input[type="radio"]:hover { + border-color: var(--vp-c-brand-1); + background-color: var(--vp-c-bg-soft); +} + +input[type="radio"]:checked { + border-color: var(--vp-c-brand-1); + background-color: var(--vp-c-brand-1); +} + +input[type="radio"]:checked::after { + content: ''; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 8px; + height: 8px; + border-radius: 50%; + background-color: var(--vp-c-bg); +} + +input[type="radio"]:disabled { + opacity: 0.5; + cursor: not-allowed; +} + +/* Checkbox styles */ +input[type="checkbox"] { + appearance: none; + width: 18px; + height: 18px; + border: 2px solid var(--vp-c-border); + border-radius: 4px; + background-color: var(--vp-c-bg); + cursor: pointer; + position: relative; + vertical-align: middle; + margin-right: 6px; + transition: all 0.2s ease; +} + +input[type="checkbox"]:hover { + border-color: var(--vp-c-brand-1); + background-color: var(--vp-c-bg-soft); +} + +input[type="checkbox"]:checked { + border-color: var(--vp-c-brand-1); + background-color: var(--vp-c-brand-1); +} + +input[type="checkbox"]:checked::after { + content: ''; + position: absolute; + top: 2px; + left: 5px; + width: 4px; + height: 8px; + border: solid var(--vp-c-bg); + border-width: 0 2px 2px 0; + transform: rotate(45deg); +} + +input[type="checkbox"]:disabled { + opacity: 0.5; + cursor: not-allowed; +} + +/* Label styles */ +label { + cursor: pointer; + user-select: none; + color: var(--vp-c-text-1); + font-size: 14px; + line-height: 1.5; + transition: color 0.2s ease; +} + +label:hover { + color: var(--vp-c-brand-1); +} + +input[type="radio"]:disabled + label, +input[type="checkbox"]:disabled + label { + opacity: 0.5; + cursor: not-allowed; +} + +input[type="radio"]:disabled + label:hover, +input[type="checkbox"]:disabled + label:hover { + color: var(--vp-c-text-1); } .command-container { diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index bf210a99..8ddc9c1f 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -4,7 +4,7 @@ import sidebarZh from "./sidebar.zh"; // https://vitepress.dev/reference/site-config export default { - title: "static-php-cli", + title: "Static PHP", description: "Build single static PHP binary, with PHP project together, with popular extensions included.", locales: { en: { @@ -44,6 +44,7 @@ export default { }, themeConfig: { // https://vitepress.dev/reference/default-theme-config + logo: '/images/static-php_nobg.png', nav: [], socialLinks: [ {icon: 'github', link: 'https://github.com/crazywhalecc/static-php-cli'} diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css index b09fc682..71767272 100644 --- a/docs/.vitepress/theme/style.css +++ b/docs/.vitepress/theme/style.css @@ -4,3 +4,25 @@ max-width: 1000px !important; } +/* Custom brand color */ +:root { + --vp-c-brand-1: #9d7a47; + --vp-c-brand-2: #b08f59; + --vp-c-brand-3: #c8a16e; + --vp-c-brand-soft: rgba(157, 122, 71, 0.14); +} + +.dark { + --vp-c-brand-1: #c8a16e; + --vp-c-brand-2: #b08f59; + --vp-c-brand-3: #9d7a47; + --vp-c-brand-soft: rgba(176, 143, 89, 0.16); +} + +.dark .VPImage.logo { + filter: contrast(0.7); +} + +.dark .VPImage.image-src { + filter: contrast(0.7); +} diff --git a/docs/en/index.md b/docs/en/index.md index 3aee0612..c447b60b 100644 --- a/docs/en/index.md +++ b/docs/en/index.md @@ -3,19 +3,143 @@ layout: home hero: - name: "static-php-cli" + name: "Static PHP" tagline: "Build standalone PHP binary on Linux, macOS, FreeBSD, Windows, with PHP project together, with popular extensions included." + image: + src: /images/static-php_nobg.png + alt: Static PHP CLI Logo actions: - theme: brand - text: Guide + text: Get Started link: ./guide/ features: - - title: Static CLI Binary + - icon: 🚀 + title: Static CLI Binary details: You can easily compile a standalone php binary for general use. Including CLI, FPM sapi. - - title: Micro Self-Extracted Executable + - icon: 📦 + title: Micro Self-Extracted Executable details: You can compile a self-extracted executable and build with your php source code. - - title: Dependency Management + - icon: 🔧 + title: Dependency Management details: static-php-cli comes with dependency management and supports installation of different types of PHP extensions. --- + + +
+ Thank you to our amazing sponsors for supporting this project! +
++ Thank you to our amazing sponsors for supporting this project! +
++ 感谢我们出色的赞助商对本项目的支持! +
+