Skip to content

Commit

Permalink
Merge pull request #108 from cxw42/v01f
Browse files Browse the repository at this point in the history
v0.1.15
  • Loading branch information
cxw42 authored Feb 9, 2018
2 parents acc1f54 + d0a0748 commit 97791d5
Show file tree
Hide file tree
Showing 84 changed files with 11,196 additions and 1,844 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
core
*.stackdump
/*_history
/tags
tags
/webstore.zip

# Output directories
Expand Down
35 changes: 35 additions & 0 deletions INTERNALS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# TabFern internals

## Project layout

- `/tabfern`: The development tree for TabFern itself
* `/tabfern/src`: Main source
- `/tabfern/src/bg`: Background page
- `/tabfern/src/view`: Popup
- `/tabfern/src/options_custom`: Options page
* `/tabfern/test`: Jasmine tests of TabFern
- `/dist`: where build output from the build process will eventually go.
- `/webstore`: The latest version of TabFern released to the Chrome Web Store.
Updated manually by the maintainers.
- `/doc`: Documentation
- `/scraps`: Holding pen for code that may yet be useful. Nothing in the
project relies on the contents of `/scraps`.
- `/plugin`: Skeleton of a TabFern plugin

## Popup

The popup is the main TabFern window, and the heart of the project. It is
`src/view/main.html`, which loads `src/view/tree.html` in an iframe.
`tree.html` and `tree.js` are the primary files for the popup.

### Data model

I am moving towards an ALMVCBNRAA (Almost like Model-View-Controller, but not
really at all) data model. The jstree, including DOM and objects, plus the
`item_details.js` datastores, are considered the model. Chrome widgets
(windows and tabs) are considered the view. `tree.js` is the controller.
Although you might think of the jstree's DOM as part of the view, I am
considering it grouped with the model so that I don't have to track
parent-child relationships two places. Those only live in the jstree.

[]( vi: set ft=markdown: )
11 changes: 11 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,20 @@
# TabFern License

TabFern is Copyright (c) 2017–2018 Chris White and contributors.

Contributors:

- [Jasmine Hegman](https://github.com/r4j4h)


Unless otherwise specified by individual files or groups of files,
the contents of TabFern are licensed as follows. Thanks to
[idleberg](https://github.com/idleberg/Creative-Commons-Markdown/blob/master/4.0/by-nc-sa.markdown)
for the Markdown text.

More information about TabFern is available at
[https://cxw42.github.io/TabFern/](https://cxw42.github.io/TabFern/).

## Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License

By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
Expand Down Expand Up @@ -163,3 +173,4 @@ c. No term or condition of this Public License will be waived and no failure to

d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.

[]( vi: set ts=4 sts=4 sw=4 et ai ft=markdown: )
8 changes: 4 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,11 @@ all: bundle

bundle: $(DEST_BUNDLE_1) $(DEST_BUNDLE_2)

$(DEST_BUNDLE_1): $(TO_BUNDLE_1)
./bundle.sh $@ $^
$(DEST_BUNDLE_1): $(TO_BUNDLE_1) bundle.sh Makefile
./bundle.sh $@ $(TO_BUNDLE_1)

$(DEST_BUNDLE_2): $(TO_BUNDLE_2)
./bundle.sh $@ $^
$(DEST_BUNDLE_2): $(TO_BUNDLE_2) bundle.sh Makefile
./bundle.sh $@ $(TO_BUNDLE_2)

clean:
-rm $(DEST_BUNDLE_1) $(DEST_BUNDLE_2)
Expand Down
39 changes: 18 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,14 @@

![screenshot](https://raw.githubusercontent.com/cxw42/TabFern/gh-pages/screenshot.png)

Very basic extension for vertical, grouped tabs. Inspired by
[Tabs Outliner](https://chrome.google.com/webstore/detail/tabs-outliner/eggkanocgddhmamlbiijnphhppkpkmkl)
by Vladyslav Volovyk. However, TabFern is not derived from or in any way
affiliated with Vladyslav or his (excellent!) work.

# Project layout

- `/tabfern`: The development tree for TabFern itself
* `/tabfern/src`: Main source
- `/tabfern/src/bg`: Background page
- `/tabfern/src/view`: Popup
- `/tabfern/src/options_custom`: Options page
* `/tabfern/test`: Jasmine tests of TabFern
- `/dist`: where build output from the build process will eventually go.
- `/webstore`: The latest version of TabFern released to the Chrome Web Store.
Updated manually by the maintainers.
- `/doc`: Documentation
- `/scraps`: Holding pen for code that may yet be useful. Nothing in the
project relies on the contents of `/scraps`.
- `/plugin`: Skeleton of a TabFern plugin
A [Google Chrome extension](https://chrome.google.com/webstore/detail/tabfern-tab-manager-and-b/hbajjpcdbninabigakflkhiogmmjaakm) that:

- Gives you a vertical list of all your open tabs
- Groups your tabs by window
- Saves sets of tabs so you can close them and resume later
- Backs up and restores sets of tabs

See [INTERNALS.md](INTERNALS.md) for details of how the code is structured.

# Usage

Expand Down Expand Up @@ -70,9 +58,18 @@ affiliated with Vladyslav or his (excellent!) work.

# Legal

Copyright (c) 2017 Chris White, Jasmine Hegman. CC-BY-SA 4.0 International.
Copyright (c) 2017 Chris White and contributors. CC-BY-SA 4.0 International.
See [LICENSE.md](LICENSE.md) for details, which are controlling in case of any
difference between that file and this section.

Contributors:

- [Jasmine Hegman](https://github.com/r4j4h)

Originally inspired by
[Tabs Outliner](https://chrome.google.com/webstore/detail/tabs-outliner/eggkanocgddhmamlbiijnphhppkpkmkl)
by Vladyslav Volovyk. However, TabFern is not derived from Tabs Outliner.
TabFern is not affiliated in any way with Vladyslav or Tabs Outliner.

![logo](https://raw.githubusercontent.com/cxw42/TabFern/master/webstore/assets/fern128.png)

1 change: 1 addition & 0 deletions bundle.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@ for f in "$@" ; do
EOF
cat "$f" >> "$dest"
echo >> "$dest" # in case of no \n at last line
done

4 changes: 2 additions & 2 deletions check-webstore.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@
# the master tree.
echo
echo === Files different in / and /webstore/ ===
for f in LICENSE.md README.md ; do
for f in LICENSE.md ; do
diff "$f" "webstore/$f" &>/dev/null || echo "$f"
done

echo === Files only in webstore/ or differing from tabfern/ ===
find webstore -name \*.swp -o -wholename webstore/LICENSE.md -o \
-wholename webstore/README.md -o -type f -print | \
-type f -print | \
while IFS= read -r f ; do
diff "$f" "tabfern/${f#webstore/}" &>/dev/null || echo "$f"
done
Expand Down
35 changes: 34 additions & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "tabfern",
"version": "0.1.14.1337",
"version": "0.1.15.1337",
"description": "Google Chrome extension for displaying, saving, and managing tabs",
"main": "src/view/main.js",
"directories": {
Expand Down Expand Up @@ -29,19 +29,23 @@
"homepage": "https://cxw42.github.io/TabFern/",
"dependencies": {
"asynquence": "^0.10.0",
"blake2s-js": "^1.2.3",
"requirejs": "^2.3.5",
"rmodal": "^1.0.28",
"spectrum-colorpicker": "^1.8.0",
"split.js": "^1.3.5",
"tinycolor2": "^1.4.1"
},
"devDependencies": {
"benchmark": "^2.1.4",
"css-loader": "^0.28.7",
"extract-text-webpack-plugin": "^3.0.0",
"jasmine2-custom-message": "^0.8.4",
"node-sass": "^4.5.3",
"raw-loader": "^0.5.1",
"sass": "^1.0.0-beta.2",
"sass-loader": "^6.0.6",
"seedrandom": "^2.4.3",
"style-loader": "^0.18.2",
"webpack": "^3.6.0"
}
Expand Down
10 changes: 9 additions & 1 deletion tabfern/conf/require-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,17 @@ var require = {
'keypress',
'hamburger',
'import-file',
'export-file'
'export-file',
]
},
shim: { // Note: can't bundle non-AMD shimmed modules --- requirejs#1172
buffer: {
exports: 'Buffer'
},
blake2s: {
exports: 'BLAKE2s'
}
},
async: {
useHash: true // #callback=x rather than ?callback=x since Chrome
// won't load files with ?
Expand Down
Loading

0 comments on commit 97791d5

Please sign in to comment.