Comments (6)
My pleasure, and thanks for contributing! Both are good questions that I would like to think about before I respond, since they will set the course for future contributions as well. My development environment is cygwin, but I'm not aware that would restrict the toolchain any. Let me check out Keypress and SASS and then I will have something intelligent to say :) .
Edit I ❤️ keyboard shortcuts
from tabfern.
@r4j4h would you please point me to your build script (or add it here or in the repo if it's not there yet)? It's not jumping out at me, and I would like to see what's involved in your present workflow. Thank you!
from tabfern.
Hey @cxw42 sorry you are not going crazy, there isn't one yet! The files that are there are this scss file and this css file.
The only thing actually using sass functionality is the useless background: red
class on .context-menu
, leading me think I should separate the SASS topic from the other two topics. I started writing the css as SASS out of habit, and for reference lifted the CSS itself from https://github.com/callmenick/Custom-Context-Menu/blob/master/style.css.
That said I do like SASS a lot, to the point of writing this :p
It is pretty powerful http://sass-lang.com/guide but I think the simplest, handiest features for me are variables which let me explain away magic numbers and easy re-inclusion of code, but for those alone LESS or something else is probably just as good and it becomes more about ease of use with IDEs and syntax preferences.
As far as build script, which I guess is topic #4 😊 , webpack is solid, flexible enough to work with almost anything, and has quite a bit of momentum, so I suggest we consider it for building.
if you are familiar with containers or Docker then we can utilize them to prevent needing to install these tools on your machine and can help keep version smear in check. A Virtual Machine would work as well. The idea being to volume mount this repo's directory into the VM or container and to open the files both there and back on the host, running the build chain there and editing the files in the IDE on the host.
from tabfern.
Build is indeed now #4 :) .
Context menu is now #6. I tried that one first since it seemed like a smaller bit to test. I will check the keyboard shortcuts later.
SASS seems fine to me. Keypress, likewise - my only concern was that it might interfere with jstree's keyboard nav, but it does not seem to do so in the right-click branch.
From a quick look, I have no objection to webpack. What version are you using? I see the v1 and v2 docs are separate. The one thing I would like to do once we switch over is to force-add /dist
to the repo whenever I update the Chrome Store (coming soon!) so that people who want to report bugs can browse the deployed code on github and not have to unpack the extension (which I have done before).
Having given the matter some thought, I would prefer not to use VMs at this point. If nothing else, I don't want to have to keep my bashrc in sync between cygwin and a container! :) Also, I see some search results suggesting that Docker may require local admin on Windows, and I would rather that not be a barrier to entry for other potential contributors. I have been without local admin in the past, and I recall the pain :) .
Separately, let it be known to the world that version numbers will follow semver!
from tabfern.
I didn't think about intereference with jstree's keyboard nav so I am glad you brought that up and that it worked out. For keybinds we should prevent the user from binding over jstree's, or see if we can configure it.. upon initial inspection configuration of shortcuts was removed in v3 as it "follows ARIA spec for trees to enable keyboard navigation for visually impaired people." (see google group thread and github issue)
I use version 2 of webpack where I can. As far as I know for a new project there's no reason to use version 1 anymore. I forgot to mention that I think webpack requires node.. on the positive side npm (which comes with it) would be helpful in installing/maintaining dependencies, especially since webpack is built "modular" so some features require reaching out to a couple of different repositories.
Thanks for calling out the complication the Chrome Store introduces. I'm not familiar with the pre-packaging process, so I'm thankful you have done it before. As far as I understand you I don't think handling /dist
in that way should be a problem.
Users not being required to use VMs or containers doesn't preclude them from using them if they want, so I think inclusive is good. For what it's worth though, you can share your .bashrc
with your containers too. It is most definitely true that Docker will likely require some Admin level privs though - at the very least Docker Toolbox's use of VirtualBox will when creating it initially. Having limited privs is definitely a pain! Offering a basic development environment in a Dockerfile may still be useful so I'll probably put up a PR for that at some point.
Hooray semver! Sounds good to me. 👍
from tabfern.
- I've used node and npm before, so no problem there.
- Also no concerns with an optional dockerfile. How big is the file? If it is jumbo, I would like to put it in a submodule, or put it in a separate repo linked from the README. Maybe a separate repo that has this one as a submodule? Please open another issue or PR whenever you're ready.
I think everything else on the list has been moved to a separate issue, so I'm going to close this. Feel free to ping or reopen if necessary!
from tabfern.
Related Issues (20)
- Automatically open windows at startup HOT 1
- [Feature Request] Expanding on #91 to allow dragging the root node from the TabFern GUI panel to an external app HOT 1
- Minimise, maximise and close with chrome HOT 4
- Feature Request: Open Only Selected Tabs in a Window HOT 1
- Feature Request: Search bar HOT 1
- Syntax error in onTabReplaced() HOT 8
- Closing a single tab that is playing audio doesn't prompt for confirmation
- Remove S.ISSUE35
- After closing and opening the TF list window issue HOT 2
- When keyboard shortcut is _not_ set, Ctrl+Shift+T opens a new TF window HOT 1
- Hotkey for "Add/edit a note for the current tab"
- enable adding borders to top level HOT 3
- out of date limits page on tabfern webpage HOT 2
- On Chromium with very long Window Titles - backup does not work HOT 3
- ability to add new tab to remembered window
- Option to remember tabs automatically on a schedule HOT 12
- Search among the saved tabs for duplicates, and delete them
- Forbid "forget" in a partially-open window
- Show number of open tabs and total tabs for each window [enhancement]
- Possible solution to duplicate windows on restart HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tabfern.