Skip to content

Commit

Permalink
Merge pull request #59 from elm-land/release/0.18.2
Browse files Browse the repository at this point in the history
πŸ“¦ Release – Elm Land v0.19.0
  • Loading branch information
ryan-haskell committed Jun 20, 2023
2 parents 07384a1 + 9596e1f commit 2ee1cd1
Show file tree
Hide file tree
Showing 150 changed files with 12,233 additions and 3,684 deletions.
8 changes: 5 additions & 3 deletions README.md
Expand Up @@ -16,10 +16,12 @@ The code for this GitHub project is broken down into smaller projects:

### Plugins

The Elm Land CLI will come with optional plugins for making web apps, designed to fit really well together!
The Elm Land CLI will eventually come with optional plugins. Each plugin is designed to fit really well together.

- __[@elm-land/graphql](./projects/graphql/)__ - The plugin that converts GraphQL files into Elm code
- __[@elm-land/ui](./projects/ui/)__ - The plugin that generates CSS and Elm code for your design system
Here are the plugins that we plan to build after Elm Land 1.0:

- `@elm-land/graphql` - Converts GraphQL files into Elm code
- `@elm-land/ui` - Create a design system using Elm


### Tooling
Expand Down
3 changes: 2 additions & 1 deletion docs/.gitignore
@@ -1,2 +1,3 @@
dist
node_modules
node_modules
.vitepress/cache
112 changes: 77 additions & 35 deletions docs/.vitepress/config.js
@@ -1,4 +1,52 @@
const version = '0.18.3'
const version = '0.19.0'

const sidebar = [
{
text: 'Guide',
items: [
{ text: 'Getting started', link: '/guide/' },
{ text: 'Pages and routes', link: '/guide/pages-and-routes' },
{ text: 'User input', link: '/guide/user-input' },
{ text: 'REST APIs', link: '/guide/rest-apis' },
{ text: 'User authentication', link: '/guide/user-auth' },
{ text: 'Working with JavaScript', link: '/guide/working-with-js' },
{ text: 'Deploying to production', link: '/guide/deploying' },
]
},
{
text: 'Concepts',
items: [
{ text: 'Introduction', link: '/concepts/' },
{ text: 'Pages', link: '/concepts/pages' },
{ text: 'Layouts', link: '/concepts/layouts' },
{ text: 'Components', link: '/concepts/components' },
{ text: 'Shared', link: '/concepts/shared' },
{ text: 'Effect', link: '/concepts/effect' },
{ text: 'View', link: '/concepts/view' },
{ text: 'Auth', link: '/concepts/auth' },
{ text: 'The 404 Page', link: '/concepts/404' },
]
},
{
text: "Reference",
items: [
{ text: 'elm-land.json', link: '/reference/elm-land-json' },
{ text: 'Auth.Action', link: '/reference/auth-action' },
{ text: 'Layout', link: '/reference/layout' },
{ text: 'Layouts', link: '/reference/layouts' },
{ text: 'Page', link: '/reference/page' },
{ text: 'Route', link: '/reference/route' },
{ text: 'Route.Path', link: '/reference/route-path' },
]
},
{
text: "More resources",
items: [
{ text: 'FAQs', link: '/faqs' },
{ text: 'Problems', link: '/problems' }
]
}
]

export default {
title: 'Elm Land',
Expand All @@ -10,62 +58,56 @@ export default {

markdown: {
lineNumbers: true,
theme: { light: 'light-plus', dark: 'one-dark-pro' }
theme: 'one-dark-pro'
},

themeConfig: {
logo: '/images/logo-256.png',
outline: 'deep',
search: {
provider: 'local',
options: {
disableDetailedView: true,
disableQueryPersistence: true
}
},
nav: [
{ text: 'Guide', link: '/guide/' },
{ text: 'Examples', link: '/examples/' },
{ text: 'News', link: '/news/' },
{
text: `v${version}`,
items: [
{ text: 'NPM', link: `https://www.npmjs.com/package/elm-land/v/${version}` },
{ text: 'GitHub', link: `https://github.com/elm-land/elm-land/releases/tag/v${version}` },
// { text: `About this release`, link: `/blog/releases/${version}` }
{ text: 'GitHub', link: `https://github.com/elm-land/elm-land/releases/tag/v${version}` }
]
}
],
socialLinks: [
{ icon: 'github', link: 'https://github.com/elm-land/elm-land' },
{ icon: 'twitter', link: 'https://twitter.com/elmland_' },
{ icon: 'discord', link: 'https://join.elm.land' }
{ icon: 'discord', link: 'https://join.elm.land' },
// {
// icon: {
// svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="icon"><path d="M12,22.2c-0.3,0-0.5-0.1-0.7-0.3l-8.8-8.8c-2.5-2.5-2.5-6.7,0-9.2c2.5-2.5,6.7-2.5,9.2,0L12,4.3l0.4-0.4c0,0,0,0,0,0C13.6,2.7,15.2,2,16.9,2c0,0,0,0,0,0c1.7,0,3.4,0.7,4.6,1.9l0,0c1.2,1.2,1.9,2.9,1.9,4.6c0,1.7-0.7,3.4-1.9,4.6l-8.8,8.8C12.5,22.1,12.3,22.2,12,22.2zM7,4C5.9,4,4.7,4.4,3.9,5.3c-1.8,1.8-1.8,4.6,0,6.4l8.1,8.1l8.1-8.1c0.9-0.9,1.3-2,1.3-3.2c0-1.2-0.5-2.3-1.3-3.2l0,0C19.3,4.5,18.2,4,17,4c0,0,0,0,0,0c-1.2,0-2.3,0.5-3.2,1.3c0,0,0,0,0,0l-1.1,1.1c-0.4,0.4-1,0.4-1.4,0l-1.1-1.1C9.4,4.4,8.2,4,7,4z"></path></svg>'
// },
// link: 'https://github.com/sponsors/ryannhg/',
// // You can include a custom label for accessibility too (optional but recommended):
// ariaLabel: 'Sponsor'
// }
],
sidebar: {
'/guide/': [
{
text: 'Guides',
items: [
{ text: 'Getting started', link: '/guide/' },
{ text: 'Pages and routes', link: '/guide/pages' },
{ text: 'User input', link: '/guide/user-input' },
{ text: 'REST APIs', link: '/guide/rest-apis' },
{ text: 'User authentication', link: '/guide/user-auth' },
// { text: 'Components', link: '/guide/components' },
// { text: 'Layouts', link: '/guide/layouts' },
// { text: 'Query parameters', link: '/guide/query-parameters' },
{ text: 'Working with JavaScript', link: '/guide/working-with-js' },
// { text: 'TypeScript', link: '/guide/typescript' },
// { text: 'CSS, assets, and static files', link: '/guide/assets-and-static-files' },
// { text: 'Elm UI and Elm CSS', link: '/guide/elm-ui-and-views' },
// { text: 'Custom 404 pages', link: '/guide/custom-404-pages' },
// { text: 'Error reporting', link: '/guide/error-reporting' },
{ text: 'Deploying to production', link: '/guide/deploying' },
]
},
{
text: 'Reference',
items: [
{ text: 'elm-land.json', link: '/guide/config/elm-land-json' },
{ text: 'CLI commands', link: '/guide/config/cli-commands' },
]
}
],
'/docs': sidebar,
'/quickstart': sidebar,
'/guide/': sidebar,
'/concepts/': sidebar,
'/reference/': sidebar,
'/faqs': sidebar,
'/problems': sidebar
},
footer: {
message: 'Made for you with ❀️',
copyright: 'Copyright Β© 2022-present Ryan Haskell-Glatz'
copyright: 'Copyright Β© 2022-present, Ryan Haskell-Glatz'
},
editLink: {
pattern: 'https://github.com/elm-land/elm-land/edit/main/docs/:path',
Expand Down
64 changes: 64 additions & 0 deletions docs/.vitepress/theme/components/ExampleGallery.vue
@@ -0,0 +1,64 @@
<template>
<div class="grid">
<a class="news-post grid__tile" v-for="tile in tiles" target="_blank" rel="noopener" :href="toUrl(tile.id)">
<h3 v-text="tile.title"></h3>
<img :src="tile.src" alt="Screenshot" width="320" height="180" />
</a>
</div>
</template>


<script>
export default {
data: () => ({
tiles: [
{ kind: "official", title: "🌱 Hello, world!", id: "01-hello-world", src: "/images/guide/hello-world.jpg" },
{ kind: "official", title: "πŸ”— Pages and routes", id: "02-pages-and-routes", src: "/images/guide/pages-and-routes.gif" },
{ kind: "official", title: "πŸ”’ User input", id: "03-user-input", src: "/images/guide/user-input.gif" },
{ kind: "official", title: "πŸ—£ REST APIs", id: "04-rest-apis", src: "/images/guide/rest-apis.gif" },
{ kind: "official", title: "πŸ” User auth", id: "05-user-auth", src: "/images/guide/user-auth.gif" },
{ kind: "official", title: "πŸ“Š Query Parameters", id: "06-query-parameters", src: "/images/guide/query-parameters.gif" },
{ kind: "official", title: "🧱 Working with JS", id: "07-working-with-js", src: "/images/examples/working-with-js.gif" },
{ kind: "official", title: "πŸͺ† Nested Layouts", id: "08-nested-layouts", src: "/images/examples/nested-layouts.gif" },
{ kind: "official", title: "🧩 TypeScript Interop", id: "10-typescript-interop", src: "/images/examples/typescript.gif" },
{ kind: "official", title: "🚨 Error Reporting", id: "11-error-reporting", src: "/images/examples/sentry.gif" },
{ kind: "official", title: "🎨 Using Elm UI", id: "12-elm-ui", src: "/images/examples/elm-ui.jpg" },
{ kind: "official", title: "πŸ‘©β€πŸŽ¨ Using Elm CSS", id: "13-elm-css", src: "/images/examples/elm-css.jpg" },
{ kind: "official", title: "πŸ’ SCSS & Assets", id: "14-scss-and-assets", src: "/images/examples/scss.jpg" },
{ kind: "official", title: "🀷 Custom 404 Pages", id: "15-custom-404-pages", src: "/images/examples/404.jpg" },
{ kind: "official", title: "#️⃣ Hash-based Routing", id: "16-hash-based-routing", src: "/images/guide/pages-and-routes.gif" },
]
}),
methods: {
toUrl: (id) => {
return `https://github.com/elm-land/elm-land/tree/main/examples/${id}`
}
}
}
</script>

<style>
.grid {
display: grid;
gap: 2rem;
justify-content: center;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.grid__tile {
display: flex;
flex-direction: column;
gap: 1rem;
padding: 1rem;
margin: 0;
}
.grid__tile h3 {
padding: 0;
margin: 0;
}
.grid__tile img {
border-radius: 4px;
margin: 0;
flex-grow: 1;
}
</style>
12 changes: 12 additions & 0 deletions docs/.vitepress/theme/components/Header.vue
@@ -0,0 +1,12 @@
<template>
<h3 v-text="title"></h3>
</template>


<script>
export default {
props: {
title: String
}
}
</script>

0 comments on commit 2ee1cd1

Please sign in to comment.