Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
da4a460
feat: reprioritize maker sections
mychidarko Feb 11, 2025
87592f6
feat: reorganized documentation to be more targeted
mychidarko Feb 12, 2025
49aab14
feat: add specialized MVC pages
mychidarko Feb 12, 2025
0247e1e
feat: add specialized MVC pages
mychidarko Feb 12, 2025
79543e0
feat: remove latest version warning
mychidarko Feb 12, 2025
db29b5b
fix: patch up broken links
mychidarko Feb 12, 2025
752f1c6
fix: patch up broken links
mychidarko Feb 12, 2025
4ee9cc1
fix: patch up broken links
mychidarko Feb 12, 2025
370af2f
feat: update learn section
mychidarko Feb 13, 2025
614de03
feat: clean up v3 docs
mychidarko Feb 13, 2025
0661b18
feat: add learning paths
mychidarko Feb 13, 2025
bec5ec6
feat: update mvc docs
mychidarko Feb 14, 2025
c1307d3
feat: add new mvc documentation
mychidarko Feb 15, 2025
ea113fc
feat: complete queues docs
mychidarko Feb 15, 2025
552bfe5
feat: update MVC docs
mychidarko Feb 16, 2025
7f08538
feat: add leaf zero docs
mychidarko Feb 16, 2025
aacb53e
feat: complete /docs section
mychidarko Feb 17, 2025
2b3e553
feat: update documentation
mychidarko Feb 17, 2025
7cabd9e
feat: update queue config docs
mychidarko Feb 18, 2025
a7dce4a
feat: update redis docs
mychidarko Feb 20, 2025
5d52d87
feat: update queue docs
mychidarko Feb 22, 2025
dec88bb
feat: disable zero docs
mychidarko Feb 23, 2025
1bf403c
fix: patch up broken links
mychidarko Feb 28, 2025
d34aa2b
feat: update package installs to v4
mychidarko Feb 28, 2025
84ddd25
chore: update head
mychidarko Feb 28, 2025
42c088f
feat: add relationships docs
mychidarko Feb 28, 2025
d9cb549
feat: add deferred and multi-db docs
mychidarko Feb 28, 2025
5f9fe26
feat: add api reference
mychidarko Mar 1, 2025
de59ad1
fix: update api reference
mychidarko Mar 1, 2025
522247c
fix: update api reference
mychidarko Mar 1, 2025
c147529
feat: update mvc console docs
mychidarko Mar 1, 2025
3d11422
fix: update tutorial
mychidarko Mar 6, 2025
3bfe718
feat: disable ads
mychidarko Mar 6, 2025
2a47dcc
feat: update v4 cli install
mychidarko Mar 7, 2025
0dd7dbc
feat: update cli install
mychidarko Mar 8, 2025
3923c4c
Merge branch 'master' into beta
mychidarko Mar 9, 2025
f7fe476
feat: add v3 banner
mychidarko Mar 9, 2025
820ad61
feat: add v3 banner
mychidarko Mar 9, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 9 additions & 1 deletion .vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export default defineConfig({
srcExclude: ['tutorial/**/description.md'],

title: 'Leaf PHP',
description: 'Simple and elegant PHP',
description: 'Elegant PHP, Built for Makers',

themeConfig: {
nav,
Expand Down Expand Up @@ -75,6 +75,10 @@ export default defineConfig({

markdown: {
lineNumbers: true,
theme: {
light: 'one-dark-pro',
dark: 'one-dark-pro',
},
config(md) {
md.use(groupIconMdPlugin);
},
Expand All @@ -83,4 +87,8 @@ export default defineConfig({
vite: {
plugins: [groupIconVitePlugin()],
},

rewrites: {
'/api/': '/api/app.html',
}
});
27 changes: 21 additions & 6 deletions .vitepress/config/head.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ const head: HeadConfig[] = [
{
name: 'description',
content:
'Leaf is a lightweight and user-friendly framework designed for quick and efficient development. It features a zero-config setup and an ecosystem of tools, making it ideal for building scalable apps with ease.',
'Leaf is a lightweight and elegant PHP framework built for makers. With zero-config setup and an ecosystem of powerful tools, Leaf helps you build and ship scalable apps—fast',
},
],
['meta', { name: 'twitter:site', content: '@leafphp' }],
Expand All @@ -23,15 +23,15 @@ const head: HeadConfig[] = [
'meta',
{
name: 'twitter:title',
content: 'Leaf PHP - Elegant PHP for Modern Development',
content: 'Leaf PHP - Elegant PHP, Built for Makers',
},
],
[
'meta',
{
name: 'twitter:description',
content:
'Leaf is a lightweight and user-friendly framework designed for quick and efficient development. It features a zero-config setup and an ecosystem of tools, making it ideal for building scalable apps with ease.',
'Leaf is a lightweight and elegant PHP framework built for makers. With zero-config setup and an ecosystem of powerful tools, Leaf helps you build and ship scalable apps—fast',
},
],
[
Expand All @@ -46,7 +46,7 @@ const head: HeadConfig[] = [
'meta',
{
name: 'og:title',
content: 'Leaf PHP - Elegant PHP for Modern Development',
content: 'Leaf PHP - Elegant PHP, Built for Makers',
},
],
[
Expand Down Expand Up @@ -76,7 +76,7 @@ const head: HeadConfig[] = [
{
name: 'og:description',
content:
'Leaf is a lightweight and user-friendly framework designed for quick and efficient development. It features a zero-config setup and an ecosystem of tools, making it ideal for building scalable apps with ease.',
'Leaf is a lightweight and elegant PHP framework built for makers. With zero-config setup and an ecosystem of powerful tools, Leaf helps you build and ship scalable apps—fast',
},
],
[
Expand Down Expand Up @@ -128,7 +128,22 @@ const head: HeadConfig[] = [
[
'link',
{
href: 'https://fonts.googleapis.com/css?family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500|DM+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700|Inter:300,400,500,600|Open+Sans:400,600;display=swap',
href: 'https://fonts.googleapis.com',
rel: 'preconnect',
},
],
[
'link',
{
href: 'https://fonts.gstatic.com',
rel: 'preconnect',
crossorigin: '',
},
],
[
'link',
{
href: 'https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,200..800&family=DM+Mono:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&display=swap',
rel: 'stylesheet',
},
],
Expand Down
93 changes: 7 additions & 86 deletions .vitepress/config/navbar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,107 +4,28 @@ const nav: DefaultTheme.NavItem[] = [
{
text: 'Docs',
activeMatch: `^/(docs|examples)/`,
items: [
{ text: 'Guide', link: '/docs/' },
{ text: 'Tutorial', link: '/tutorial/' },
{
text: 'Leaf + MVC',
link: '/docs/mvc/',
},
{
text: 'Leaf Modules',
link: '/docs/modules',
},
{
text: 'Leaf CLI',
link: '/docs/cli/',
},
{
text: 'MVC Console',
link: '/docs/mvc/console/',
},
],
link: '/docs/',
},

{
text: 'Ecosystem',
activeMatch: `^/ecosystem/`,
items: [
{
text: 'Resources',
items: [
{ text: 'Online Playground', link: 'https://sandbox.leafphp.dev/' },
{
text: 'Codelabs',
link: '/codelabs/',
},
// {
// text: 'Leaf UI',
// link: 'https://ui.leafphp.dev/',
// },
],
},
{
text: 'Other',
items: [
{
text: 'Hana JS',
link: 'https://hana.leafphp.dev',
},
{
text: 'Naytive',
link: 'https://naytive.netlify.app',
},
],
},
{
text: 'Help',
items: [
// {
// text: 'Leaf Forum',
// link: 'https://github.com/leafsphp/leaf/discussions/37',
// },
{
text: 'YouTube',
link: 'https://www.youtube.com/channel/UCllE-GsYy10RkxBUK0HIffw',
},
{
text: 'Discord',
link: 'https://discord.gg/Pkrm9NJPE3',
},
{
text: 'GitHub',
link: 'https://github.com/leafsphp/leaf',
},
],
},
],
text: 'Blog',
link: 'https://blog.leafphp.dev',
},

{
text: 'Community',
activeMatch: `^/(about|community)/`,
items: [
{
text: 'Leaf Community',
link: '/community/',
},
{
text: 'Contribute to Leaf',
link: '/community/guide',
},
{
text: 'Changelog',
link: '/community/releases',
},
// {
// text: 'Changelog',
// link: '/community/releases',
// },
// {
// text: 'Project Showcase',
// link: '/community/showcase',
// },
{
text: 'Blog',
link: 'https://blog.leafphp.dev',
},
{
text: 'Team',
link: '/community/team',
Expand Down
63 changes: 39 additions & 24 deletions .vitepress/config/sidebar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,22 @@ const sidebar = [
// collapsible: true,
// collapsed: true,
items: [
{ text: 'Introduction', link: '/docs/' },
{ text: 'Installation', link: '/docs/installation' },
// { text: 'Installation', link: '/docs/installation' },
{ text: 'Leaf CLI', link: '/docs/cli/' },
{ text: 'Migration Guide', link: '/docs/migrating' },
// { text: 'Functional Mode', link: '/docs/config/functional-mode' },
{ text: 'Modules', link: '/docs/modules' },
],
},
{
text: 'Leaf CLI',
// collapsible: true,
// collapsed: true,
items: [
{ text: 'CLI Intro', link: '/docs/cli/' },
{ text: 'Creating apps', link: '/docs/cli/creating-an-app' },
{ text: 'Managing apps', link: '/docs/cli/managing-apps' },
],
},
// {
// text: 'Leaf CLI',
// // collapsible: true,
// // collapsed: true,
// items: [
// { text: 'Creating apps', link: '/docs/cli/creating-an-app' },
// { text: 'Managing apps', link: '/docs/cli/managing-apps' },
// ],
// },
{
text: 'Routing',
// collapsible: true,
Expand All @@ -30,7 +29,7 @@ const sidebar = [
{ text: 'Route Groups', link: '/docs/routing/route-groups' },
{ text: 'Dynamic routing', link: '/docs/routing/dynamic' },
{ text: 'Middleware', link: '/docs/routing/middleware/' },
{ text: 'Middleware in Leaf MVC', link: '/docs/routing/middleware/mvc' },
// { text: 'Middleware in Leaf MVC', link: '/docs/routing/middleware/mvc' },
],
},
{
Expand All @@ -52,7 +51,7 @@ const sidebar = [
// { text: 'Overview', link: '/docs/config/' },
// { text: 'App settings', link: '/docs/config/settings' },
{ text: 'Application Env', link: '/docs/config/environment' },
{ text: 'URL Rewriting', link: '/docs/routing/url-rewriting' },
{ text: 'Deployment', link: '/learn/deployment/' },
{ text: 'Error Handling', link: '/docs/routing/error-handling' },
{ text: 'Dependency Injection', link: '/docs/config/container' },
// { text: 'Logging', link: '/docs/utils/logging' },
Expand Down Expand Up @@ -126,7 +125,7 @@ const sidebar = [
{ text: 'HTTP Cache', link: '/docs/http/caching' },
{ text: 'Leaf Mail', link: '/docs/utils/mail/' },
{ text: 'File System', link: '/docs/utils/fs' },
// { text: 'Queues/Jobs', link: '/docs/utils/queues' },
{ text: 'Queues/Jobs', link: '/docs/utils/queues' },
],
},
{
Expand All @@ -141,25 +140,41 @@ const sidebar = [
{ text: 'Vite JS', link: '/docs/frontend/vite' },
{ text: 'Tailwind CSS', link: '/docs/frontend/tailwind' },
{ text: 'Inertia JS', link: '/docs/frontend/inertia' },
// { text: 'Viewi PHP', link: '/docs/frontend/viewi' },
// { text: 'Leaf UI', link: '/docs/frontend/leaf-ui' },
// {
// text: 'Leaf Zero',
// collapsible: true,
// collapsed: true,
// items: [
// { text: 'Introduction', link: '/docs/frontend/zero/' },
// { text: 'Layouts', link: '/docs/frontend/zero/layouts' },
// { text: 'Forms', link: '/docs/frontend/zero/forms' },
// { text: 'Modals', link: '/docs/frontend/zero/modals' },
// { text: 'Alerts', link: '/docs/frontend/zero/alerts' },
// { text: 'Loading', link: '/docs/frontend/zero/loading' },
// { text: 'Icons', link: '/docs/frontend/zero/icons' },
// { text: 'Forms', link: '/docs/frontend/zero/forms' },
// { text: 'Merketing Sections', link: '/docs/frontend/zero/marketing' },
// { text: 'Dashboard Sections', link: '/docs/frontend/zero/dashboard' },
// ],
// },
],
},
{
text: 'Building to scale',
// collapsible: true,
// collapsed: true,
items: [
{ text: 'Leaf + MVC', link: '/docs/mvc/' },
{ text: 'Leaf MVC v4', link: '/docs/mvc/mvc4' },
// { text: 'Leaf + MVC', link: '/docs/mvc/' },
// { text: 'Leaf MVC v4', link: '/docs/mvc/mvc4' },
{ text: 'Controllers', link: '/docs/mvc/controllers' },
// { text: 'Views', link: '/docs/frontend/mvc' },
{ text: 'Models', link: '/docs/database/models' },
{ text: 'Migrations', link: '/docs/database/migrations' },
{ text: 'JSON Schema', link: '/docs/database/schema' },
// { text: 'Migrations', link: '/docs/database/migrations' },
// { text: 'JSON Schema', link: '/docs/database/schema' },
{ text: 'Schema Files', link: '/docs/database/files' },
{ text: 'Seeders', link: '/docs/database/seeders' },
{ text: 'Factories', link: '/docs/database/factories' },
// { text: 'Seeders', link: '/docs/database/seeders' },
// { text: 'Factories', link: '/docs/database/factories' },
{ text: 'Writing Commands', link: '/docs/mvc/commands' },
// { text: 'Mailing', link: '/docs/utils/mail/mvc' },
{ text: 'MVC Globals', link: '/docs/mvc/globals' },
Expand All @@ -174,8 +189,8 @@ const sidebar = [
// items: [
// { text: 'Intro', link: '/codelabs/' },
// { text: 'Contributing', link: '/codelabs/contributing' },
// // { text: 'Deployment', link: '/codelabs/experiments/deployment/' },
// // { text: 'Authentication', link: '/codelabs/experiments/auth/' },
// // { text: 'Deployment', link: '/learn/deployment/' },
// // { text: 'Authentication', link: '/learn/auth/' },
// ],
// },
];
Expand Down
46 changes: 24 additions & 22 deletions .vitepress/theme/components/Community/Blog.vue
Original file line number Diff line number Diff line change
Expand Up @@ -5,32 +5,35 @@ import Button from '../shared/Button.vue';
</script>

<template>
<section id="blog" class="testimonials hidden md:flex justify-center items-center h-[70vh]">
<div class="flex:center-between py:_10" style="display: grid; grid-template-columns: 1fr 1.25fr; gap: 4rem;">
<div class="text-sm">
<h2 class="title mb-4" style="text-align: left;">Latest writings from the Leaf team</h2>
<p class="mb-2">
Our main goal and pride at Leaf is to make PHP development as simple and elegant as possible.
</p>
<p class="mb-6">
Our team is always looking to improve your experience using the Leaf framework and it's ecosystem of tools.
You
can follow along as our team discusses it's insights from the past year and what's to come in 2025.
</p>
<Button as="a" href="https://blog.leafphp.dev" target="_blank">
<span>Read the Blog</span>
<ExternalLink height="18px" />
</Button>
<div class="flex justify-center items-center">
<section id="blog"
class="testimonials hidden md:flex justify-center items-center h-[70vh] w-full sm:!max-w-3xl lg:!max-w-5xl xl:!max-w-7xl !px-2 sm:!px-10">
<div class="flex justify-center w-full items-center py:_10"
style="display: grid; grid-template-columns: 1fr 1.25fr; gap: 4rem;">
<div class="text-sm max-w-[400px]">
<h1 class="title mb-4" style="text-align: left;">Latest writings from the Leaf team</h1>
<p class="mb-2 text-base">
Our main goal and pride at Leaf is to make PHP development as simple and elegant as possible.
</p>
<p class="mb-6 text-base">
Our team is always looking to improve your experience using the Leaf framework and it's ecosystem of tools.
You
can follow along as our team discusses it's insights from the past year and what's to come in 2025.
</p>
<Button as="a" class="!text-white" href="https://blog.leafphp.dev" target="_blank">
<span>Read the Blog</span>
<ExternalLink height="18px" />
</Button>
</div>

<div class="elfsight-app-6190fe7f-f619-4dda-9952-9324f84ba50c" data-elfsight-app-lazy></div>
</div>

<div class="elfsight-app-6190fe7f-f619-4dda-9952-9324f84ba50c" data-elfsight-app-lazy></div>
</div>
</section>
</section>
</div>
</template>

<style scoped>
.testimonials {
padding: 32px 24px;
/* padding: 42px 32px; */
background: var(--vt-c-bg-dark);
transition: border-color 0.5s, background-color 0.5s;
Expand All @@ -39,7 +42,6 @@ import Button from '../shared/Button.vue';

.testimonials>div {
padding: 0px 32px;
max-width: 900px;
}

.blog-card {
Expand Down
Loading