Giter VIP home page Giter VIP logo

hackfoldr's Introduction

Hackfoldr

Organize gdoc and hackpad documents for hackathons.

Why?

We need a way to organize many dynamic documents before and during hackathon.

The shared folder feature in google docs comes very close to what we want, but as every document is opened in edit mode, it soon becomes unusable. It is also impossible to sort the items and we had to use numeric prefix to achieve that.

Hackpad collections are great too, but we also want to include spreadsheets as one of the item types.

So we build this small single-page static web application that reads a list of url from an EtherCalc document, rendering it in a way similar to a google docs folder. If the document supports read-only mode, we use that by default when it is opened by the user, and provide an additional edit link.

For example, with an index like http://ethercalc.org/g0v-hackath2n, you'll get http://hackfoldr.org/g0v-hackath2n/BfddbG2JBOi

Supported document types

  • Google Docs
  • Google Spreadsheets
  • Google Prensetation
  • Google Drawing
  • Hackpad
  • EtherCalc

Prerequisites

Node.js is required on your system.

Check it with the following commands:

$ npm -v
$ node -v

Install

$ npm i
$ npm start

Then after the building message completes, connect to http://localhost:3333/.

Using Vagrant to develop

Vagrant provides easy-to-configure, reproducible, and portable work environments. It will create a headless VirtualBox VM, then prepare the development environment and launch the server for you. You can then develop and test the code anywhere :).

To use Vagrant, you need to install:

  • Vagrant (>= 1.6.x)
  • VirtualBox

To setup up work environment:

$ vagrant up

It will take several minutes for the first time, since it will have to configure its Ubuntu VM image. After the operation is finished, browse to http://localhost:6987/ in your favorite browser. You are all set!

vagrant halt if you need to shut down the Vagrant VM. For more information about Vagrant, see the documentation of Vagrant.

Note: Have to use older Vagrant (1.3.0+)? Change the Vagrantfile.

Google API key

To use the google APIs client to query YouTube Data API and check live status of Youtube videos, you need to apply your own Google API Key for browser applications at https://code.google.com/apis/console#:access. After getting your API key, commit it into app/config.jsenv

Fork

  1. fork to your github account
  2. $ git clone [email protected]/GITHUB_ACCOUNT/hackfoldr
  3. $ npm install
  4. replace GITHUB_ACCOUNT, HACKFOLDR_ID, DOMAIN_NAME, GA_ID in gulpfile.ls
  5. $ npm run fork
  6. $ npm run build
  7. $ ./deploy

CC0 1.0 Universal

To the extent possible under law, Chia-liang Kao has waived all copyright and related or neighboring rights to hackfoldr.

This work is published from Taiwan.

http://creativecommons.org/publicdomain/zero/1.0

hackfoldr's People

Contributors

appleboy avatar audreyt avatar caasi avatar cactis avatar clkao avatar clonn avatar czchen avatar daaab avatar dannvix avatar darbychang avatar etblue avatar fourdollars avatar fukuball avatar hychen avatar ipaaa avatar irvin avatar jeffhung avatar jessy1092 avatar jimyhuang avatar lis186 avatar littlebtc avatar maylogger avatar obra avatar peterdavehello avatar poying avatar tony1223 avatar wildjcrt avatar yhsiang avatar youchenlee avatar zbryikt 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  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  avatar  avatar  avatar  avatar

Watchers

 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  avatar

hackfoldr's Issues

support readonly hackpad

after #39 we should make it possible to enable readonly hackpad (static html render), and perhaps with auto-reload

tree in index

i think we can use indented url in first column as the depth level.

Add english readme to hackfoldr/about

We need a English version of /about page for non-Chinese contributors to understand how to use hackfoldr. Also we may need to default the project page to english ver. (And perhaps automatically redirecting between l10ned version of each page?)

title display problem

Follow steps below (it will be clear in small screen size)

  1. click second level item
  2. click first level item
  3. $state.current.title still be second level title

hackfoldr+ethercalc to hackfoldr+google sheet

您好:
我們是新北市新店區的小蜜蜂, 因為FB洗版太快, 目前打算學g0v用hackfoldr+hackpad來分享資訊:

  1. 目前發現hackfoldr是public,我們希望能限制編輯人員,於是google了一下發現有大大( http://logbot.g0v.tw/channel/g0v.tw/2014-04-10/524 )說這邊可以申請,所以特地來請管理後台的大大能幫幫忙,我們的hackfoldr是 http://hackfoldr.org/StudyGroupXindian/
    希望將 ethercalc試算表 變為 google試算表 http://ppt.cc/hUQx 謝謝
  2. 可以的話,希望 http://hackfoldr.org/StudyGroupXindian/ 最上方的首頁能連回 http://hackfoldr.org/StudyGroupXindian/ 謝謝@@
    謝謝g0v~如果發錯地方不好意思,打擾了

nested index

when #6 is done, we can have index entry that dynamically injects child entries.

for example another ethercalc doc, a delicious tag, or anything that can return a list of urls.

vagrant box url 404

seems below file no longer exists

https://dl.dropboxusercontent.com/u/4339854/g0v/g0v-ubuntu-precise64.box

瀏覽器封鎖第三方cookie導致的各種問題

瀏覽器封鎖第三方cookie的情況下
容易造成框架內的網站出現各種問題
(空白頁、無內容、無限重整...)

建議檢查瀏覽器是否封鎖第三方cookie
若封鎖則跳出提示

受影響的頁面類型

  • hackpad (無內容)
  • Google試算表 (空白頁)
  • change.org (無限重整)

希望可以單獨調整內容區域的縮放比例

因為老花眼 (?) 需要按 ctrl +,但按 ctrl + 會連 navbar 一起變大,很佔螢幕空間,希望可以有個按鈕只針對 iframe 裡的東西按 ctrl + 就好,外面不會跟著變大… XD

iframes no longer sticky

after switching to multiple ui-view, iframes are no longer persistent. trying to use ui-router-extras's sticky state in c15c4a0 but doesn't seem to be working. @MrOrz can you help taking a look?

landing page

instead of a default doc, prompt for user to paste a list of url and post them to create new ethercalc and use it.

avoid ng-view

need to handle route changes without ng-view, otherwise the iframes are destroyed and recreated.

refactor with mobile-angular-ui

now compressed files
212 kb app.css
16 kb app.js
28 kb app.template.js
544 kb vendor.js

86.949 kb mobile-angular-ui.base.min.css
0.9 kb mobile-angular-ui.desktop.min.css
10.38 kb mobile-angular.ui.min.js

could consider about using mobile-angular-ui replace old architecture?
http://mobileangularui.com/

BTW hackfoldr's bootstrap version is 2.3.2, and mobile-angular-ui is 3

hackpad different embbed config support

there are three type of embbed format on hackpad.
Editable, plain html, plaint html without title.
add a new configuration like "embbed": "static" or "embbed": "html"
make document to be a view mode, have any suggestion about this?

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.