Skip to content

Commit

Permalink
Nuxt 3 migration (#59)
Browse files Browse the repository at this point in the history
* chore!: update to nuxt 3, bulk import.

* fix: favicon

* Fix: credit, links and toc

* fix: Support for link in the credit

* fix: cleanup old stuff.

* chore: Nuxt configuration and package dependencies

* chore!: removed github old CI

* chore(deployment): add workflow file

* chore(deployment): update workflow file

* chore(deployment): update workflow file

* fix: Update studio.yml ci

* fix; ci var

* Update studio.yml

* chore(deployment): update workflow file

* test: reset studio

* fix ci

* chore(deployment): add workflow file

* fix

* update studio

* update credits and links

* fix: removed link to site

* chore: Updated README with development instructions

* chore: Added NVM version

* chore: removed old README image

* fix: Remove extra quote

* Rename CNAME to CNAME.off

* fix redirect

* fix: Update GitHub link in app.config.ts

* fix: link in Get started

* fix: Update README.md with improved formatting and content

* add homepage content

* Add @nuxt/image dependency

* Refactor index.vue component

* update screenshot

* fix: icons homepage

* Add UI Pro OSS license configuration

* Remove studio.yml workflow file

* Add deploy.yml and update nuxt.config.ts

* fix path

---------

Co-authored-by: Jay Rogers <[email protected]>
Co-authored-by: Adam Cooke <[email protected]>
  • Loading branch information
3 people authored Mar 3, 2024
1 parent 6cbd2a0 commit 9c0a76e
Show file tree
Hide file tree
Showing 75 changed files with 11,742 additions and 10,522 deletions.
13 changes: 13 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# editorconfig.org
root = true

[*]
indent_size = 2
indent_style = space
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false
5 changes: 5 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Production license for @nuxt/ui-pro, get one at https://ui.nuxt.com/pro/purchase
NUXT_UI_PRO_LICENSE=

# Public URL, used for OG Image when running nuxt generate
NUXT_PUBLIC_SITE_URL=
4 changes: 4 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
dist
node_modules
.output
.nuxt
16 changes: 16 additions & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
module.exports = {
root: true,
extends: [
'@nuxt/eslint-config'
],
rules: {
// Global
semi: ['error', 'never'],
quotes: ['error', 'single'],
'quote-props': ['error', 'as-needed'],
// Vue
'vue/multi-word-component-names': 0,
'vue/max-attributes-per-line': 'off',
'vue/no-v-html': 0
}
}
34 changes: 0 additions & 34 deletions .github/workflows/build.yml

This file was deleted.

41 changes: 41 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# https://github.com/actions/deploy-pages#usage
name: Deploy to GitHub Pages
on:
workflow_dispatch:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: corepack enable
- uses: actions/setup-node@v3
with:
node-version: "20"
# Pick your own package manager and build script
- run: pnpm install
- run: pnpm build --preset github_pages
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
with:
path: ./.output/public
# Deployment job
deploy:
# Add a dependency to the build job
needs: build
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source
# Deploy to the github_pages environment
environment:
name: github_pages
url: ${{ steps.deployment.outputs.page_url }}
# Specify runner + deployment step
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v1
23 changes: 0 additions & 23 deletions .github/workflows/preview.yml

This file was deleted.

33 changes: 25 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,27 @@
node_modules
*.iml
.idea
*.log*
# Nuxt dev/build outputs
.output
.data
.nuxt
.vscode
.DS_Store
coverage
.nitro
.cache
dist
sw.*

# Node dependencies
node_modules

# Logs
logs
*.log

# Misc
.DS_Store
.fleet
.idea

# Local env files
.env
.env.*
!.env.example

# VSC
.history
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
shamefully-hoist=true
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
18
20 changes: 0 additions & 20 deletions LICENSE

This file was deleted.

108 changes: 76 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,104 @@
# View the site
# View the Site
👉 See the live documentation site at https://docs.postalserver.io


# Postal Server Documentation
[Postal is a complete and fully featured mail server](https://postal.atech.media/) for use by websites & web servers. Think Sendgrid, Mailgun or Postmark but open source and ready for you to run on your own servers. Postal was developed by aTech Media to serve its own mail processing requirements and we have since decided that it should be released as an open source project for the community. It was originally launched by us as AppMail but renamed to Postal as part of making it open source as we felt the name was more suitable.
Postal is a complete and fully-featured mail server for use by websites and web servers. Think of Sendgrid, Mailgun, or Postmark, but open source and ready for you to run on your own servers. Postal was developed by aTech Media to serve its own mail processing requirements, and we have since decided that it should be released as an open-source project for the community. It was originally launched by us as AppMail but was renamed to Postal as part of making it open source because we felt the name was more suitable.

## The purpose of this repository
This repository hosts the documentation for Postal only. If you are looking for the Github repo for the application source code, [go to the open source repository for Postal →](https://github.com/postalserver/postal)
## The Purpose of This Repository
This repository hosts the documentation for Postal only. If you are looking for the GitHub repository for the application source code, [go to the open-source repository for Postal →](https://github.com/postalserver/postal)

## Contribution Instructions
Contributions are welcome! Please open up a pull request that clearly describes your intentions.

This site runs on [Nuxt Content](https://content.nuxtjs.org/). Please review their docs for how this framework works.
This site runs on [Nuxt Content](https://content.nuxtjs.org/). Please review their documentation to understand how this framework works.

# Local Development Setup
Follow these steps to get the site running on your local machine.

### Prerequisites
- Node 18 or newer
- [PNPM installed](https://pnpm.io/installation) for package management.

We advise you to use [NVM](https://github.com/nvm-sh/nvm) to manage node versions and enable PNPM using corepack.

<details>
<summary>NVM Setup</summary>

**Change to the project directory**
```bash
cd /path/to/postal-docs
```

**Install the correct Node version**
```bash
nvm install
```

**Use the correct Node version**
```bash
nvm use
```


</details>

### Installing on your local machine

If you'd like to run this site locally on your machine, follow these steps:
<details>

#### Docker usage
In an effort to keep our Node versions the same, we have a `docker-compose.yml` file that will prepare your development environment for you. We encourage you to use this even if you have NPM installed on your machine. This will guarantee we have the same version across everyone's computer.
<summary>Enable PNPM</summary>

#### Setup
### Corepack

Install dependencies:
PNPM is available by default; you just need to enable corepack.

```bash
docker compose run node yarn install
corepack enable pnpm
```

#### Running the docs site in development
</details>




### Prepare Your System


**Change to the project directory**
```bash
docker compose pull && docker compose up
cd /path/to/postal-docs
```
### Install Dependencies
Install the Node dependencies using PNPM.
```bash
pnpm install
```
### Start the Development Web Server
Start the development server on http://localhost:3000

Wait for your machine to complete the build, then your development copy will be available at http://localhost:3000
> [!NOTE]
> If you see a warning about a "Missing `NUXT_UI_PRO_LICENSE`", you can ignore that message. This is only used in production.
### Managing content
```bash
pnpm dev
```

#### Content Location
All content is located under the `/content` folder, followed by the language. You will find the markdown files in there.
Your local development environment is now running. You can view the site at http://localhost:3000. Any changes you make to the content will be automatically reflected in the browser once you save the file.

#### Organizing Pages
Everything is organized by ["front matter" and Nuxt Content](https://content.nuxtjs.org/themes/docs#front-matter).
## How to Edit the Docs Content?
This documentation uses [Nuxt Content](https://content.nuxtjs.org/) and works on the following key concepts:
- Content is stored as markdown files in the `/content` folder.
- Pages are sorted by the number at the beginning of their MD file.
- Pages need to have a title and description as their metadata.
- You can use any Nuxt UI and [Nuxt UI Pro prose component](https://ui.nuxt.com/pro/prose/callout).

Make sure you are setting your `position` and `category` fields correctly. For example:
```yaml

#### Example:
```
---
title: My 2nd Page Title
description: ''
position: 1.1
category: My Category
title: Feature List
description: 'This is a list of features (in no particular order) of things that Postal can do.'
---
```
The above result would look like this:
<p align="center">
<img src="https://raw.githubusercontent.com/postalserver/docs/main/static/docs-category-and-postion.png">
</p>
# Feature List
Here you can write your content.
...
Loading

0 comments on commit 9c0a76e

Please sign in to comment.