diff --git a/docs/.vitepress/components/CliGenerator.vue b/docs/.vitepress/components/CliGenerator.vue index 430dec241..378f6eaed 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/components/Contributors.vue b/docs/.vitepress/components/Contributors.vue new file mode 100644 index 000000000..c1f474b0c --- /dev/null +++ b/docs/.vitepress/components/Contributors.vue @@ -0,0 +1,219 @@ + + + + + diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index bf210a996..8ddc9c1f2 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 b09fc6828..ccf440746 100644 --- a/docs/.vitepress/theme/style.css +++ b/docs/.vitepress/theme/style.css @@ -4,3 +4,21 @@ max-width: 1000px !important; } + +.vp-doc .contributors-header h2 { + padding-top: 0; + border-top: none; +} + +.vp-doc .sponsors-header h2 { + padding-top: 0; + border-top: none; +} + +.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 3aee06126..7d80bf2f7 100644 --- a/docs/en/index.md +++ b/docs/en/index.md @@ -3,11 +3,14 @@ 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: @@ -19,3 +22,121 @@ features: details: static-php-cli comes with dependency management and supports installation of different types of PHP extensions. --- + + +
+
+

Special Sponsors

+

+ Thank you to our amazing sponsors for supporting this project! +

+
+ +
+ + + + diff --git a/docs/index.md b/docs/index.md index f667ce448..b2b25dedf 100644 --- a/docs/index.md +++ b/docs/index.md @@ -3,8 +3,11 @@ 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: Get Started @@ -24,13 +27,121 @@ features: -## Special Sponsors +
+
+

Special Sponsors

+

+ Thank you to our amazing sponsors for supporting this project! +

+
+ +
+ + - + diff --git a/docs/public/images/static-php_nobg.png b/docs/public/images/static-php_nobg.png new file mode 100644 index 000000000..64b6695c0 Binary files /dev/null and b/docs/public/images/static-php_nobg.png differ diff --git a/docs/zh/index.md b/docs/zh/index.md index bfa81cf4e..265d39745 100644 --- a/docs/zh/index.md +++ b/docs/zh/index.md @@ -3,18 +3,140 @@ layout: home hero: - name: "static-php-cli" + name: "Static PHP" tagline: "在 Linux、macOS、FreeBSD、Windows 上与 PHP 项目一起构建独立的 PHP 二进制文件,并包含流行的扩展。" + image: + src: /images/static-php_nobg.png + alt: Static PHP CLI Logo actions: - theme: brand - text: 指南 + text: 开始使用 link: ./guide/ features: -- title: 静态二进制 - details: 您可以轻松地编译一个独立的 PHP 二进制文件以供嵌入程序使用。包括 cli、fpm、micro。 -- title: phpmicro 自执行二进制 - details: 您可以使用 micro SAPI 编译一个自解压的可执行文件,并将 PHP 代码与二进制文件打包为一个文件。 -- title: 依赖管理 - details: static-php-cli 附带依赖项管理,支持安装不同类型的 PHP 扩展和不同的依赖库。 + - title: 静态 CLI 二进制 + details: 您可以轻松地编译一个独立的 PHP 二进制文件以供通用使用,包括 CLI、FPM SAPI。 + - title: Micro 自解压可执行文件 + details: 您可以编译一个自解压的可执行文件,并将 PHP 源代码与二进制文件打包在一起。 + - title: 依赖管理 + details: static-php-cli 附带依赖项管理,支持安装不同类型的 PHP 扩展。 --- + + + +
+
+

特别赞助商

+

+ 感谢我们出色的赞助商对本项目的支持! +

+
+ +
+ + + +