diff --git a/.github/PULL_REQUEST_TEMPLATE.yml b/.github/PULL_REQUEST_TEMPLATE.yml
index 0b9658e..44c2865 100644
--- a/.github/PULL_REQUEST_TEMPLATE.yml
+++ b/.github/PULL_REQUEST_TEMPLATE.yml
@@ -5,6 +5,7 @@
- Feature
- Codestyle
- Refactor
+- Documentation
- Other
## Did this PR introduce a breaking change?
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
new file mode 100644
index 0000000..acc6174
--- /dev/null
+++ b/.github/workflows/lint.yml
@@ -0,0 +1,22 @@
+name: Lint Website
+
+on:
+ push:
+ paths:
+ - ".github/workflows/lint.yml"
+ - "website/**/*.md"
+
+jobs:
+ build:
+ name: Lint Website
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout Repository
+ uses: actions/checkout@v3
+
+ - name: Lint Markdown
+ uses: nosborn/github-action-markdown-cli@v3.1.0
+ with:
+ files: ./website
+ config_file: ./website/.markdownlintrc
diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml
index 7795493..352d92f 100644
--- a/.github/workflows/website.yml
+++ b/.github/workflows/website.yml
@@ -1,38 +1,132 @@
-name: Website
+name: Build-Publish-Website
on:
push:
- branches:
- - main
- pull_request:
+ paths:
+ - ".github/workflows/website.yml"
+ - "website/**"
+ - "!website/README.md"
+
jobs:
build:
+ name: Build Website
runs-on: ubuntu-latest
- if: github.ref != 'refs/heads/main'
+ env:
+ MDBOOK-VERSION: v0.4.21
+ MDBOOK-PAGETOC-VERSION: v0.1.4
+ MDBOOK-LINKCHECK-VERSION: v0.7.6
+ CARGO_TERM_COLOR: always
+
steps:
- - name: 'Checkout'
- uses: actions/checkout@master
- - name: 'Content update'
+ - name: Checkout Repository
+ uses: actions/checkout@v3
+
+ - name: Restore mdBook Cache
+ id: cache-mdbook
+ uses: actions/cache@v3
+ with:
+ path: ./mdbook
+ key: mdbook-${{ env.MDBOOK-VERSION }}
+
+ - name: Install mdbook
+ if: steps.cache-mdbook.outputs.cache-hit != 'true'
+ run: |
+ mkdir mdbook
+ curl -sSL https://github.com/rust-lang/mdBook/releases/download/${{ env.MDBOOK-VERSION }}/mdbook-${{ env.MDBOOK-VERSION }}-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=./mdbook
+
+ - name: Restore mdbook-pagetoc Cache
+ id: cache-mdbook-pagetoc
+ uses: actions/cache@v3
+ with:
+ path: ./mdbook-pagetoc
+ key: mdbook-pagetoc-${{ env.MDBOOK-PAGETOC-VERSION }}
+
+ - name: Install mdbook-pagetoc
+ if: steps.cache-mdbook-pagetoc.outputs.cache-hit != 'true'
+ run: |
+ mkdir mdbook-pagetoc
+ curl -sSL https://github.com/slowsage/mdbook-pagetoc/releases/download/${{ env.MDBOOK-PAGETOC-VERSION }}/mdbook-pagetoc-${{ env.MDBOOK-PAGETOC-VERSION }}-x86_64-unknown-linux-gnu.tar.gz | tar -xz --directory=./mdbook-pagetoc
+
+ - name: Restore mdbook-linkcheck Cache
+ id: cache-mdbook-linkcheck
+ uses: actions/cache@v3
+ with:
+ path: ./mdbook-linkcheck
+ key: mdbook-linkcheck-${{ env.MDBOOK-LINKCHECK-VERSION }}
+
+ - name: Install mdbook-linkcheck
+ if: steps.cache-mdbook-linkcheck.outputs.cache-hit != 'true'
+ run: |
+ mkdir mdbook-linkcheck && cd "$_"
+ curl -sSL https://github.com/Michael-F-Bryan/mdbook-linkcheck/releases/download/${{ env.MDBOOK-LINKCHECK-VERSION }}/mdbook-linkcheck.x86_64-unknown-linux-gnu.zip -o mdbook-linkcheck.zip
+ unzip mdbook-linkcheck.zip
+ chmod +x mdbook-linkcheck
+
+ - name: Update PATH
run: |
- make -C website content_update
- - name: 'Build only'
- uses: shalzz/zola-deploy-action@master
- env:
- BUILD_DIR: website
- BUILD_ONLY: true
- build_and_deploy:
+ echo `pwd`/mdbook >> $GITHUB_PATH
+ echo `pwd`/mdbook-pagetoc >> $GITHUB_PATH
+ echo `pwd`/mdbook-linkcheck >> $GITHUB_PATH
+
+ - name: Build Book
+ run: mdbook build
+ working-directory: ./website
+
+ - name: Store HTML
+ if: ${{ github.ref == 'refs/heads/main' }}
+ uses: actions/upload-artifact@v3
+ with:
+ name: book
+ path: ./website/book
+
+ sitemap:
+ if: ${{ github.ref == 'refs/heads/main' }}
+ name: Generate Sitemap
+ needs: build
runs-on: ubuntu-latest
- if: github.ref == 'refs/heads/main'
+ env:
+ STATIC-SITEMAP-CLI-VERSION: 2.1.2
+
steps:
- - name: 'Checkout'
- uses: actions/checkout@master
- - name: 'Content update'
+ - name: Download HTML
+ uses: actions/download-artifact@v3
+ with:
+ name: book
+ path: ./book
+
+ # Unsure how to cache NPM
+ - name: Install Static Sitemap CLI
run: |
- make -C website content_update
- - name: 'Build and deploy'
- uses: shalzz/zola-deploy-action@master
- env:
- PAGES_BRANCH: gh-pages
- BUILD_DIR: website
- # See https://github.com/marketplace/actions/zola-deploy-to-pages#secrets for details
- TOKEN: ${{ secrets.TOKEN }}
+ npm install npx
+ npm install static-sitemap-cli@${{ env.STATIC-SITEMAP-CLI-VERSION }}
+
+ - name: Generate Sitemap
+ run: |
+ cd ./book/html
+ npx sscli --base https://neovide.dev
+
+ - name: Store Sitemap
+ uses: actions/upload-artifact@v3
+ with:
+ name: sitemap
+ path: ./book/html/sitemap.xml
+
+
+ publish:
+ if: ${{ github.ref == 'refs/heads/main' }}
+ name: Publish Website
+ needs: sitemap
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Download HTML & Sitemap
+ uses: actions/download-artifact@v3
+
+ - name: Move Sitemap Into HTML
+ run: mv ./sitemap/sitemap.xml ./book/html
+
+ - name: Publish to GitHub Pages
+ uses: peaceiris/actions-gh-pages@v3
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ publish_dir: ./book/html
diff --git a/.gitignore b/.gitignore
index e24e352..a9c5c83 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@
**/*.rs.bk
*.log
.DS_Store
+website/book
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index 4c5850e..0000000
--- a/.gitmodules
+++ /dev/null
@@ -1,3 +0,0 @@
-[submodule "website/themes/juice"]
- path = website/themes/juice
- url = https://github.com/huhu/juice
diff --git a/.ok b/.ok
deleted file mode 100644
index 91c34e8..0000000
--- a/.ok
+++ /dev/null
@@ -1 +0,0 @@
-install: cargo build --release; rm c:/dev/tools/neovide.* -ErrorAction SilentlyContinue; cp ./target/release/neovide.exe c:/dev/tools/neovide.exe
diff --git a/README.md b/README.md
index 84cfff0..874c86c 100644
--- a/README.md
+++ b/README.md
@@ -1,244 +1,32 @@
-
-
# Neovide [![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/SjFpZdQys6) [![Chat on Matrix](https://matrix.to/img/matrix-badge.svg)](https://matrix.to/#/#neovide_community:gitter.im) [![Discussions](https://img.shields.io/badge/GitHub-Discussions-green?logo=github)](https://github.com/neovide/neovide/discussions)
-
-
-This is a simple graphical user interface for [Neovim](https://github.com/neovim/neovim) (an aggressively refactored and updated
-Vim editor). Where possible there are some graphical improvements, but functionally it should act like the terminal UI.
+
-![Basic Screen Cap](./assets/BasicScreenCap.png)
+This is a simple graphical user interface for [Neovim](https://github.com/neovim/neovim) (an
+aggressively refactored and updated Vim editor). Where possible there are some graphical
+improvements, but functionally it should act like the terminal UI.
-I've been using this as my daily driver since November 2019. It should be relatively stable, but I'm still working out some kinks
-and ironing out some cross platform issues. In general it should be usable at this point, and if it isn't I consider that a bug and
-appreciate a report in the issues! Any help and ideas are also greatly appreciated.
+To checkout all the **cool features**, **installation instructions**, **configuration settings** and
+much more, head on over to [neovide.dev](https://neovide.dev).
-I'm also very interested in suggestions code quality/style wise when it comes to Rust. I'm pretty new to the language and appreciate
-any critiques that you might have to offer. I won't take all of them, but I promise to consider anything you might have to offer.
+
-## Features
+
+ + + +
+ +```vim +let g:neovide_cursor_animation_length=0.13 +``` + +Setting `g:neovide_cursor_animation_length` determines the time it takes for the cursor to complete +it's animation in seconds. Set to `0` to disable. + +#### Animation Trail Length + ++ + + +
+ +```vim +let g:neovide_cursor_trail_length=0.8 +``` + +Setting `g:neovide_cursor_trail_length` determines how much the trail of the cursor lags behind the +front edge. + +#### Antialiasing + +```vim +let g:neovide_cursor_antialiasing=v:true +``` + +Enables or disables antialiasing of the cursor quad. Disabling may fix some cursor visual issues. + +#### Unfocused Outline Width + +```vim +let g:neovide_cursor_unfocused_outline_width=0.125 +``` + +Specify cursor outline width in `em`s. You probably want this to be a positive value less than 0.5. +If the value is \<=0 then the cursor will be invisible. This setting takes effect when the editor +window is unfocused, at which time a block cursor will be rendered as an outline instead of as a +full rectangle. + +### Cursor Particles + +There are a number of vfx modes you can enable which produce particles behind the cursor. These are +enabled by setting `g:neovide_cursor_vfx_mode` to one of the following constants. + +#### None at all + +```vim +let g:neovide_cursor_vfx_mode = "" +``` + +The default, no particles at all. + +#### Railgun + + + +```vim +let g:neovide_cursor_vfx_mode = "railgun" +``` + +#### Torpedo + + + +```vim +let g:neovide_cursor_vfx_mode = "torpedo" +``` + +#### Pixiedust + + + +```vim +let g:neovide_cursor_vfx_mode = "pixiedust" +``` + +#### Sonic Boom + + + +```vim +let g:neovide_cursor_vfx_mode = "sonicboom" +``` + +#### Ripple + + + +```vim +let g:neovide_cursor_vfx_mode = "ripple" +``` + +#### Wireframe + + + +```vim +let g:neovide_cursor_vfx_mode = "wireframe" +``` + +### Particle Settings + +Options for configuring the particle generation and behavior. + +#### Particle Opacity + +```vim +let g:neovide_cursor_vfx_opacity=200.0 +``` + +Sets the transparency of the generated particles. + +#### Particle Lifetime + +```vim +let g:neovide_cursor_vfx_particle_lifetime=1.2 +``` + +Sets the amount of time the generated particles should survive. + +#### Particle Density + +```vim +let g:neovide_cursor_vfx_particle_density=7.0 +``` + +Sets the number of generated particles. + +#### Particle Speed + +```vim +let g:neovide_cursor_vfx_particle_speed=10.0 +``` + +Sets the speed of particle movement. + +#### Particle Phase + +```vim +let g:neovide_cursor_vfx_particle_phase=1.5 +``` + +Only for the `railgun` vfx mode. + +Sets the mass movement of particles, or how individual each one acts. The higher the value, the less +particles rotate in accordance to each other, the lower, the more line-wise all particles become. + +#### Particle Curl + +```vim +let g:neovide_cursor_vfx_particle_curl=1.0 +``` + +Only for the `railgun` vfx mode. + +Sets the velocity rotation speed of particles. The higher, the less particles actually move and look +more "nervous", the lower, the more it looks like a collapsing sine wave. diff --git a/website/docs/editing-with-external-tools.md b/website/docs/editing-with-external-tools.md new file mode 100644 index 0000000..f5d513f --- /dev/null +++ b/website/docs/editing-with-external-tools.md @@ -0,0 +1,18 @@ +# Editing w/ External Tools + +You can use Neovide in other programs as editor, this page aims to document some quirks. Support for +that, however, is only possible as far as reasonably debuggable. + +_Note: We do not endorse nor disrecommend usage of all programs listed here. All usage happens on +your own responsibility._ + +## [jrnl](https://github.com/jrnl-org/jrnl) + +In your configuration file: + +```yaml +editor: "neovide --nofork" +``` + +...as `jrnl` saves & removes the temporary file as soon as the main process exits, which happens +before startup by [forking](Screenshot of Neovide running on Windows
+