GithubHelp home page GithubHelp logo

tterb / hyde Goto Github PK

View Code? Open in Web Editor NEW
45.0 5.0 11.0 13.07 MB

:pencil: An Electron powered markdown editor for Jekyll users

Home Page: https://brettstevenson.io/hyde

License: GNU General Public License v3.0

JavaScript 30.53% CSS 60.02% HTML 9.33% TypeScript 0.13%
electron markdown editor jekyll blog gfm documentation yaml-frontmatter hyde

hyde's Introduction

Title


Build Status  Code Climate  Dependency Status  Version  License 

Description

Hyde is an Electron-based markdown editor that aims to improve the accessibility of creating beautifully formatted markdown documents for developers and non-developers, alike. This goal is achieved through an approachable modular interface, capable of offering the same familiar toolbars and live-preview that you would find in a word-processor or the simplicity and streamlined workflow of a minimalistic text editor. Additionally, while Hyde was initially created to cater to Jekyll users, during development the oppurtunity was recognized to similarly improve the writing experience across various platforms. Therefore, additional features have been integrated that allow Hyde to cater to the wide variety of popular platforms and tools that utilize markdown formatting.



Features

  • Live Preview
    • Instantly observe changes to your documents in rendered Markdown or HTML as you create them
    • YAML frontmatter recongition ensures that only your intended content is rendered
  • Sync-scrolling allows the preview to keep up with you as you type
  • GitHub Flavored Markdown (GFM)
  • User-friendly formatting via the toolbar
  • Syntax highlighting for Markdown, GFM-compatible HTML, and YAML frontmatter
  • A collection of 20+ popular syntax-themes
  • 🎉 Font Awesome, Glyphicon, and Emoji support 🎉
  • Full screen mode
    • Write free of all distractions
  • Support for TeX math rendering
  • Integrated spell-checking and word count
  • App can remain active in tray for quick access
  • All contained within an approachable, modular interface that caters to your workflow
  • Cross platform
    • Windows, Mac and Linux ready


Installation

Cloning, installing, and running Hyde is as simple as executing the following commands:

# Clone the repository
$ git clone https://github.com/tterb/hyde

# Navigate to the directory
$ cd hyde

# Install Hyde
$ npm install -g ./

Now, Hyde can easily be launched from anywhere using the following command:

$ hyde <filename>


Development

Preprocessor compilation and live-reload functionalities are available via the following command:

$ gulp watch


Contributing

If you're looking for an easy way to contribute to this project but aren't sure where to start, I've created a list of minor bugs and/or issues to be fixed before the projects initial release, which you can find here or you can just try out the app and provide some feedback. Additionally, if you'd like to submit a pull-request, I would ask that you first take a look at the projects contributing guidelines.



Proudly powered by:

Electron logo

hyde's People

Contributors

jonsn0w avatar tterb 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

Watchers

 avatar  avatar  avatar  avatar  avatar

hyde's Issues

Keyboard shortcuts and TypeError on Ubuntu 16.1

After testing the application on Ubuntu 16.1, I ran into the following issues:

  • Keyboard shortcuts display a dialog with the following:

Uncaught Exception:
TypeError: Cannot read property 'webContents' of null at Function.<anonymous (~/Hyde/main.js:249:18)


  • Issue with emoji support implementation:

Uncaught TypeError: Cannot set property 'replacer' of undefined at emoji.js:7

Issues to fix before initial release

Fix me

In case you're looking for an easy way to contribute to this project but aren't sure where to start, I created a list of minor bugs and/or issues to be fixed before release. I will be adding to and updating the progress of these issues as they are addressed.

  • Fix toggle-off commented line ( ctrl + / )
  • Fix default sync-scroll registering from config.js
  • Fix theme selection process
  • Fix save functionalities
    • Fix inconsistent title path
  • Set CodeMirror to use GFM and YAML frontmatter highlighting
  • Only reload text panel when theme changes (currently reloads the whole app)
  • Fix 'Export to PDF' issues
  • HTML/Preview Radio buttons not working
  • Fix YAML frontmatter removal effecting hr's
  • Metacity button image not responding to hover
  • Unsaved symbol in bottom-bar not functioning correctly when file
  • Undo ( ctrl + z ) command is able to clear editor if used with no changes to undo
  • Live-preview extends beyond sync-scrollable range
  • Regex for emoji's are still matching, ie: :emoji:
  • 'New' command opens a new window with the same file open
  • 'Open' command should open the file in a new window if there's already a file in the current window
  • Modify aplication settings to persist through close
  • Checkboxes are not rendering properly in live-preview
  • The 'bold' and 'strikethrough' formatting commands are not functioning correctly
  • Secondary application windows lose file contents when reloaded

Failure to start: Cannot find module 'electron-localShortcut'

I'm running on Ubuntu 16.04. A 'npm start' yeilds:

Warning, the following targets are using a decimal version:

  electron: 1.6

We recommend using a string for minor/patch versions to avoid numbers like 6.10
getting parsed as 6.1, which can lead to unexpected behavior.

App threw an error during load
Error: Cannot find module 'electron-localShortcut'
    at Module._resolveFilename (module.js:470:15)
    at Function.Module._resolveFilename (/home/zac/Documents/Projects/Personal/hyde/node_modules/electron/dist/resources/electron.asar/common/reset-search-paths.js:35:12)
    at Function.Module._load (module.js:418:25)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/home/zac/Documents/Projects/Personal/hyde/main.js:19:21)
    at Object.<anonymous> (/home/zac/Documents/Projects/Personal/hyde/main.js:263:3)
    at Module._compile (module.js:571:32)
    at Object.require.extensions.(anonymous function) [as .js] (/home/zac/Documents/Projects/Personal/hyde/node_modules/electron-compile/lib/require-hook.js:77:14)
    at Module.load (module.js:488:32)
A JavaScript error occurred in the main process
Uncaught Exception:
Error: Cannot find module 'electron-localShortcut'
    at Module._resolveFilename (module.js:470:15)
    at Function.Module._resolveFilename (/home/zac/Documents/Projects/Personal/hyde/node_modules/electron/dist/resources/electron.asar/common/reset-search-paths.js:35:12)
    at Function.Module._load (module.js:418:25)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/home/zac/Documents/Projects/Personal/hyde/main.js:19:21)
    at Object.<anonymous> (/home/zac/Documents/Projects/Personal/hyde/main.js:263:3)
    at Module._compile (module.js:571:32)
    at Object.require.extensions.(anonymous function) [as .js] (/home/zac/Documents/Projects/Personal/hyde/node_modules/electron-compile/lib/require-hook.js:77:14)
    at Module.load (module.js:488:32)

At which, the terminal just hangs.

The following seems to resolve:

diff --git a/main.js b/main.js
index 0b2474c..755b439 100644
--- a/main.js
+++ b/main.js
@@ -16,7 +16,7 @@ const keepInTray = config.get('keepInTray');
 const fs = require('fs');
 const path = require('path');
 const mainPage = path.join('file://', __dirname, '/index.html');
-var localShortcut = require('electron-localShortcut');
+var localShortcut = require('electron-localshortcut');
 const {Menu, MenuItem, ipcMain} = require('electron');
 // const window = require('./js/windowManager');

Issues with 'Save as' functionality on OS X

I've recently been made aware that Hyde's 'Save As' function is not functioning properly on OS X.
I will be doing my best to investigate this issue further, though any help from OS X users/developers would be appreciated, as I'm most familiar with Linux and Windows environments.

Expected Behavior:

  • When working with a new/unsaved file, both the 'Save' and 'Save as' functions should open a dialog allowing the user to save the document as a new file.

Actual Behavior:

  • When attempting to use the 'Save' and 'Save as' functions on a new file, there is no response from the application.

Steps to Recreate the Issue:

  1. Open a new file in Hyde
  2. Call the 'Save' or 'Save as' command via keyboard shortcuts or the native application menu

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.