Skip to content

Commit

Permalink
Merge branch 'release/1.0.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
Xeyos88 committed Dec 18, 2024
2 parents e25b86c + b383ae8 commit df4a4ca
Show file tree
Hide file tree
Showing 66 changed files with 4,539 additions and 656 deletions.
74 changes: 74 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Sample workflow for building and deploying a VitePress site to GitHub Pages
#
name: Deploy VitePress site to Pages

on:
# Runs on pushes targeting the `main` branch. Change this to `master` if you're
# using the `master` branch as the default branch.
release:
types: [created]
push:
branches: [main]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: pages
cancel-in-progress: false

jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0 # Not needed if lastUpdated is not enabled
# - uses: pnpm/action-setup@v3 # Uncomment this if you're using pnpm
# - uses: oven-sh/setup-bun@v1 # Uncomment this if you're using Bun
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
registry-url: "https://registry.npmjs.org"
cache: npm # or pnpm / yarn
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Install dependencies
run: npm ci # or pnpm install / yarn install / bun install
- name: Build package
run: npm run build
- name: Publish to NPM
if: github.event_name == 'release'
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Build with VitePress
run: npm run docs:build # or pnpm docs:build / yarn docs:build / bun run docs:build
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: docs/.vitepress/dist

# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
needs: build
runs-on: ubuntu-latest
name: Deploy
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
4 changes: 1 addition & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,5 @@ docs/.vitepress/dist
*.tgz

#temporary
docs
hy-vue-gantt-1.0.0.tgz
deploy.sh
docs-deploy.yml

1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
docs
65 changes: 63 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,64 @@
# Hy Vue Gantt
# Hyper Vue Gantt

<b>Hyper Vue Gantt</b> is a s fork and update of Vue Ganttastic
A powerful Gantt chart component for Vue 3, evolved from vue-ganttastic. Provides flexible and performant timeline visualization for modern applications.

## 🚀 Installation

```bash
# npm
npm install hy-vue-gantt

# yarn
yarn add hy-vue-gantt

# pnpm
pnpm add hy-vue-gantt
```

### Register Component

```typescript
// main.ts
import { createApp } from "vue"
import App from "./App.vue"
import hyvuegantt from "hy-vue-gantt"

const app = createApp(App)
app.use(hyvuegantt)
app.mount("#app")
```

## 💡 Basic Example

```vue
<template>
<g-gantt-chart
:chart-start="chartStart"
:chart-end="chartEnd"
:precision="precision"
:bar-start="barStart"
:bar-end="barEnd"
>
<g-gantt-row
v-for="row in rows"
:key="row.label"
:label="row.label"
:bars="row.bars"
/>
</g-gantt-chart>
</template>
```

## ✨ Key Features

- 📅 **Flexible Time Units**: Support for hours, days, weeks, and months
- 🎨 **Customizable**: Multiple built-in color schemes and styling options
- 🔗 **Bar Connections**: Visual connections with different styles and animations
- 📱 **Responsive**: Adapts to different screen sizes
- ⌨️ **Keyboard Navigation**: Full keyboard support for accessibility
- 🎯 **Drag & Drop**: Intuitive interface for timeline management
- 🚀 **TypeScript**: Full TypeScript support with predefined types

## 📝 License

MIT
12 changes: 12 additions & 0 deletions deploy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
set -e

npm run docs:build
cd docs/.vuepress/dist

git init
git add -A
git commit -m 'deploy'

git push -f [email protected]:Xeyos88/HyVueGantt.git master:gh-pages

cd -
63 changes: 63 additions & 0 deletions docs-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Sample workflow for building and deploying a VitePress site to GitHub Pages
#
name: Deploy VitePress site to Pages

on:
# Runs on pushes targeting the `main` branch. Change this to `master` if you're
# using the `master` branch as the default branch.
push:
branches: [master]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: pages
cancel-in-progress: false

jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0 # Not needed if lastUpdated is not enabled
# - uses: pnpm/action-setup@v2 # Uncomment this if you're using pnpm
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 20
cache: npm # or pnpm / yarn
- name: Setup Pages
uses: actions/configure-pages@v3
- name: Install dependencies
run: npm ci # or pnpm install / yarn install
- name: Build with VitePress
run: npm run docs:build # or pnpm docs:build / yarn docs:build
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
with:
path: docs/.vitepress/dist

# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
needs: build
runs-on: ubuntu-latest
name: Deploy
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
91 changes: 91 additions & 0 deletions docs/.vitepress/config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
import { defineConfig } from "vitepress"

export default defineConfig({
vue: {
template: {
compilerOptions: {
isCustomElement: (tag) => tag.includes('hy-vue-')
}
}
},
lang: 'en-US',
title: "Hyper Vue Gantt",
description: "Documentation for the Huper Vue Gantt Chart Library",
base: '/hy-vue-gantt/',
head: [['link', { rel: 'icon', href: '/favicon.ico' }]],

themeConfig: {
logo: {
src: '/logo.png',
alt: 'Hyper Vue Gantt Logo'
},

nav: [
{ text: "Home", link: "/" },
{
text: "Links",
items: [
{ text: "GitHub", link: "https://github.com/Xeyos88/HyVueGantt" },
{ text: "NPM", link: "https://www.npmjs.com/package/hy-vue-gantt" }
]
}
],

sidebar: {
"/": [
{
text: "Getting Started",
items: [
{ text: "Introduction", link: "/guide/introduction" },
{ text: "Installation", link: "/guide/installation" },
{ text: "Quick Start", link: "/guide/quick-start" }
]
},
{
text: "Core Concepts",
items: [
{ text: "Chart Configuration", link: "/guide/chart-configuration" },
{ text: "Time Axis", link: "/guide/time-axis" },
{ text: "Connections", link: "/guide/connections" },
{ text: "Styling", link: "/guide/styling" }
]
},
{
text: "Components",
items: [
{ text: "GGanttChart", link: "/components/g-gantt-chart" },
{ text: "GGanttRow", link: "/components/g-gantt-row" }
]
},
{
text: "API Reference",
items: [
{ text: "Props", link: "/api/props" },
{ text: "Events", link: "/api/events" },
{ text: "Types", link: "/api/types" },
{ text: "Color Schemes", link: "/api/color-schemes" }
]
},
{
text: "Examples",
items: [
{ text: "Basic Usage", link: "/examples/basic" },
{ text: "Custom Styling", link: "/examples/styling" },
{ text: "Bar Connections", link: "/examples/connections" },
{ text: "Time Management", link: "/examples/time" },
{ text: "Advanced Features", link: "/examples/advanced" },
{ text: "Live Demo", link: "/examples/live" }

]
}
],
},

socialLinks: [{ icon: "github", link: "https://github.com/Xeyos88/HyVueGantt" }],

footer: {
message: "Released under the MIT License.",
copyright: "Copyright © 2024"
}
}
})
Binary file added docs/.vitepress/public/favicon.ico
Binary file not shown.
Binary file added docs/.vitepress/public/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit df4a4ca

Please sign in to comment.