Giter Club home page Giter Club logo

vs-nerdx's Introduction

What

This repo contains the source code and content of my blog & wiki website at stevium.com.

It is a fork of masochist by wincent containing overrides and modifications needed for customized view layer and content management, intended to enable emacs org and typescript support.

Content is authored in plain-text-friendly markup formats like Markdown and served using a dynamic stack (described below). New code can be deployed and content added or updated via git push.

Dependencies

  • React: Declarative, component-oriented view layer.
  • Relay: Declarative data-management.
  • GraphQL: Hierarchical data querying language, type system and server.
  • Git: Main content storage.
  • Redis: Indexing and caching.
  • memcached: Ephemeral caching.

Development

Quickstart

Prerequisites

brew install git memcached redis

Webpack-based hot-loading workflow

git clone https://github.com/stevium/stevium.git
cd stevium
yarn
yarn update-schema
yarn update-indices # Whenever content changes.
yarn start

Running in production-like environment

yarn run build # Builds files under `dist/`.
yarn start-prod

Running in production

export NODE_ENV=production
yarn
yarn build
node dist/bin/updateIndices.js # Whenever content changes.
node dist/server/main.js

Configuration

In __DEV__, Stevium will look for content in the current repo (ie. .).

In production, it expects to find a content repo at /srv/stevium/content.

In __DEV__, you can override this with npm config set. For example, in my local development environment, I have the Stevium Git repo checked out in one folder, and a second copy of it with the content branch checked out within it (using git-worktree) at ./content (see below for more details on this set-up). I can override the __DEV__ default of . with:

# Use npm, not yarn, for this:
npm config set masochist:content-repo './content'

Deployment cheatsheet

You could do this in any number of ways but the way I'm doing it is using two local repositories as follows:

Local "stevium" repository

Structure
  • main branch checked out.
  • github remote pointing at GitHub.
  • stevium remote set up to do Heroku-style deploy-on-push, pointing at an Amazon EC2 instance configured using Ansible.
  • content remote set up to do a Heroku-style update-on-push for content changes, pointing at the corresponding repository on EC2.
Commands
$ git push stevium main # Deploy app (after initial provisioning).
$ git push stevium # Subsequent deployments.
$ git push origin # Propagate code, but no deploy.
$ git push # Shorthand for `git push origin`.
$ git push github # If you can't be bothered waiting for it to auto-replicate.

Local "content" worktree

Structure
  • content branch checked out.
  • content remote configured to do Heroku-style push-to-publish.
  • origin remote pointing at git.stevium.com.
  • github remote pointing at GitHub.
Commands
$ git push content content # First push after initial provisioning.
$ git push content # Subsequent pushes.
$ git config branch.content.merge refs/heads/content # For laziness.
$ git push # Simple.
Rollback to a prior rev $HASH
$ git push stevium +$HASH:main

Or just switch symlinks and sudo monit restart stevium.

Force a deploy without actual code changes

$ git commit -m Deploy --allow-empty
$ git push stevium

vs-nerdx's People

Contributors

jscordev avatar stevium avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

vs-nerdx's Issues

(Question) Disable ESC keybinding?

The NerdX ESC keybinding overrides my default Visual Studio ESC keybinding (Window.CloseToolWindow).

Is there any way to disable the NerdX ESC keybinding that I am not aware of?

Update for VS 2019

We get this warning when installing this extension in VS 2019. Can you please update the extension to be compatible with future versions of VS 2019?

nerd

Typing / Renaming

I might be misunderstanding something, but the extension seems to not allow you to type any characters it uses when naming an item in solution explorer. For example, I cannot type letters "d" and "g".

CTRL + W between code & explorer

Hello,

I've installed VsVim and vs-nerdx for VS 2019 and i don't know how to go to code from explorer or to go to explorer from code (i have to use CTRL + W + H or L in vim but in this case it doesn't work). Could you help me ?

Thank you in advance for your answer.

[VS2022] Opening actions won't work on file node

The bindings o, i, s do nothing on fresh Visual Studio when a file node is selected. Enter does. o works well on folder nodes.

VS Version Info

Microsoft Visual Studio Community 2022
Version 17.0.1
VisualStudio.17.Release/17.0.1+31912.275
Microsoft .NET Framework
Version 4.8.04084

Installed Version: Community

Visual C++ 2022   00482-90000-00000-AA141
Microsoft Visual C++ 2022

ASP.NET and Web Tools 2019   17.0.789.48259
ASP.NET and Web Tools 2019

C# Tools   4.0.1-1.21561.4+add472bbed002fcea9232e89793d0762cc71c5cf
C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Microsoft JVM Debugger   1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines

Microsoft MI-Based Debugger   1.0
Provides support for connecting Visual Studio to MI compatible debuggers

Microsoft Visual C++ Wizards   1.0
Microsoft Visual C++ Wizards

Microsoft Visual Studio VC Package   1.0
Microsoft Visual Studio VC Package

NuGet Package Manager   6.0.0
NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/

ProjectServicesPackage Extension   1.0
ProjectServicesPackage Visual Studio Extension Detailed Info

Test Adapter for Boost.Test   1.0
Enables Visual Studio's testing tools with unit tests written for Boost.Test.  The use terms and Third Party Notices are available in the extension installation directory.

Test Adapter for Google Test   1.0
Enables Visual Studio's testing tools with unit tests written for Google Test.  The use terms and Third Party Notices are available in the extension installation directory.

Visual Basic Tools   4.0.1-1.21561.4+add472bbed002fcea9232e89793d0762cc71c5cf
Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Visual Studio Code Debug Adapter Host Package   1.0
Interop layer for hosting Visual Studio Code debug adapters in Visual Studio

Visual Studio IntelliCode   2.2
AI-assisted development for Visual Studio.

Visual Studio Tools for CMake   1.0
Visual Studio Tools for CMake

VsNerdXPackage Extension   1.0
VsNerdXPackage Visual Studio Extension Detailed Info

VsVim   2.10.99.99 Debug
VsVim is a Vim emulator for Visual Studio

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.