Skip to content
forked from pingcap/gdocwiki

A wiki based on Google Doc / Drive

License

Notifications You must be signed in to change notification settings

SeanZou/gdocwiki

 
 

Repository files navigation

gdocwiki

A wiki based on Google Doc / Drive.

Getting Started

  1. Install Node.js, yarn

  2. Install dependencies:

    yarn
  3. Create .env.local file for configuration. See Configuration section below.

  4. Start a local development server:

    yarn start
  5. Navigate to http:https://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.

Roadmap

  • User
    • Sign in
      • Notify for sign in
      • Error handling for unprivilege errors
    • Sign out
      • A better UI for sign out
  • Sidebar
    • Expand all
    • 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
      • Rewrite links to open in wiki directly
      • Support #xxx anchors in the Google doc
      • Prettify
        • Pretty font families
        • Pretty monospace fonts
        • Adjust incorrect margins and paddings
    • Google spreadsheet
    • Google 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
  • Cache
    • Utilize cache to load folder content
    • Cache preview when file is not modified
    • Update file and folder cache in background when accessing a folder or file
    • Watch changes from cached entities
    • Improve first screen load performance
  • Search
    • Full text
    • File name
    • Search Tag
  • Mobile Support
    • Responsive Sidebar
  • Helpers
    • A Chrome extension for checking whether the doc is in the tree

Note

This is not an official PingCAP product.

About

A wiki based on Google Doc / Drive

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • TypeScript 95.4%
  • SCSS 4.0%
  • Other 0.6%