Code Monkey home page Code Monkey logo

gdocwiki's Introduction

gdocwiki

A wiki based on Google Doc / Drive.

User Guide

Gdocwiki combines a folder tree view in a sidebar with a document viewer in the main panel. Documents can be browsed and edited without opening lots of new tabs.

You can stay in flow and stay organized. README files are automatically rendered to give an overview of a directory. Tags are more prominently available.

Gdocwiki defaults to a mobile-friendly HTML preview with comments. Switch to edit mode to start writing.

The following file name conventions are used:

  • a file named readme will be displayed automatically when navigating to a directory
  • a file/folder begining with . will be displayed last in the listings

Getting Started

  1. Install Node.js, yarn

  2. Install dependencies:

    cd packages/website
    yarn
  3. Create .env.local file for configuration. See Configuration section below.

  4. Start a local development server:

    yarn start
  5. Navigate to http://localhost:3000

Configuration

You should set up a configuration for local development and building by creating a .env.local file. This file is not needed for deployment, since it is embedded into the artifact during the building process.

A sample .env.local file could be:

REACT_APP_GAPI_KEY=xxxxxxx
REACT_APP_GAPI_CLIENT_ID=xxxxxxx
REACT_APP_ROOT_ID=xxxxxxx
REACT_APP_ROOT_DRIVE_ID=xxxxxxx
  • REACT_APP_GAPI_KEY: The Google API Key.

    Google API Key can be obtained by following the Setting up API keys documentation.

  • REACT_APP_GAPI_CLIENT_ID: The Google API OAuth Client ID.

    The OAuth Client ID can be obtained by following the Setting up OAuth 2.0 documentation.

    Steps in the "User consent" section in the documentaton above should be completed as well, with the following scopes added:

    • auth/drive
    • auth/documents
  • REACT_APP_ROOT_ID: The ID of the Google drive folder that you want to display as the wiki root folder.

    There may be hyphens in the ID. The wiki root folder is not limited to a sub-folder in the shared drive. It could be the shared drive root folder.

    Note: Only folders in the "Shared drives" are supported. Folders in the "My Drive" are not supported.

  • REACT_APP_ROOT_DRIVE_ID: The drive ID where your wiki root folder belongs.

Features

  • User
    • Sign in
      • Notify for sign in
      • Error handling for unprivilege errors
    • Sign out
  • Sidebar
    • Expand/Collapse all
    • Configure specific folder children to be displayed in sidebar or not
      • Activate nearest displayed parent
    • Activate and expand sidebar item according to current page
    • Support >500 pages in the sidebar
    • Support external link in syntax [xxx](https://yyy)
      • Open Google drive external links in wiki directly
  • Content Preview
    • Google doc
      • Show revision history
      • View as html or in iframe as /preview or /edit
      • HTML view
        • Rewrite links to open in wiki directly
        • Support #xxx anchors in the Google doc
        • Comments
          • Reply
          • Highlight quoted comment text
        • Header-based document navigation
        • Prettify
          • Pretty font families
          • Pretty monospace fonts
          • Adjust incorrect margins and paddings
    • spreadsheet
    • presentation, PDF, MS Word / Excel files
    • Shortcut
      • File
      • Folder
    • Folder
      • Click folder item to jump
      • Sort folder items
      • Display README in the folder inline
      • Support > 1000 folder items
      • Display as list
        • Display multi-level children as list
    • Drive Root
  • Breadcrumb Navigation
    • Create file in current folder
    • Open current file in Google Doc / Google Drive
      • Google Doc
      • Google Spreadsheet
    • Open current folder in Google Drive
    • Rename
      • Rename a link
    • Trash
      • Trash a link
    • Move in a file
      • Notification when the file cannot be moved out again
      • Move using shortcut
    • Move in a folder (a shortcut will be always created for now?)
    • Move to another tree location
  • Natural sort
  • Update Title Dynamically
  • Tag
    • View doc tags
    • List all tags
    • Set tags
    • Rename a tag
  • Performance
    • Optimistic render of doc for faster first load
    • Utilize cache to load folder content
    • Update file and folder cache in background when accessing a folder or file
    • Watch changes from cached entities
  • Search
    • Full text
    • File name
    • Search Tag
  • Mobile Support
    • Responsive Sidebar
    • Responsive settings page
  • Chrome extension
    • check whether the doc is in the tree: browser-extension
    • deep link to the versions page by adding a ?versions param
    • link to doc in the wiki
    • Firefox

Note

This is not an official PingCAP product.

gdocwiki's People

Contributors

breezewish avatar cw1997 avatar dragonly avatar gregwebs avatar hexilee avatar

Watchers

 avatar  avatar

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.