Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple project support #54

Open
ghost opened this issue Apr 28, 2017 · 14 comments
Open

Multiple project support #54

ghost opened this issue Apr 28, 2017 · 14 comments

Comments

@ghost
Copy link

ghost commented Apr 28, 2017

Hi, your app is a lifesaver, I tried Boostnote and some other alternatives but for day-to-day coding or other tasks FromScratch it the best!

What I miss though, it's that there's only one 'workspace' (one 'place' where I can save my notes) and I need as many of them as tasks/tickets/projects I'm working on.

Sure, I could use some .txt placeholders (copy text from/to FromScratch to/from a .txt files) as I change the currently worked on project.
In fact I've written a bash script which is a wrapper that implements this functionality in a limited way:
https://gitlab.com/Brachacz/MultiScratch

I wish that there would be some other builtin way to do that, ideally in form of scrolled sidebar with different projects that you could switch between.
If this could have some folder-like hierarchy which you could manipulate (something like sidebar in sublime text), I'd be willing to pay for it ;)

@Kilian
Copy link
Owner

Kilian commented Apr 28, 2017

Hey, that's pretty awesome! The link doesn't have a repository or code yet, do you plan on sharing it? FromScratch uses note-folding as a means of supporting multiple contexts. Please see the discussion surrounding that here: #4

I am always open to improvements, and I know more people would prefer something like this. Would a solution for you entail different text files, or would a single text file but visually different "tabs" (where the splitting is handled by FromScratch) be acceptable too?

@ghost
Copy link
Author

ghost commented Apr 28, 2017

The link to gitlab should work now, I've set the visibility to public ;)

Unfortunately, the note folding is not enough for me due to amount of tickets/projects and notable length of each section. In fact I have to use it within a single ticket/project to avoid furious scrolling.

I think the best approach would be to have multiple files in a directory hierarchy with .fromscratch/projects/ as root catalog with separate folds files each associated to relevant contents files.

It would make implementing the navigation much more natural and end user would be able to backup all his notes with git while preserving the hierarchy and file contents relevance (to the hierarchy).

@nilicule
Copy link

nilicule commented Jul 6, 2017

+1 for tabs.

MultiScratch is pretty cool, but it doesn't give me a direct view of all FromScratch notes, which is a pretty big downside for me.

@joshuaiz
Copy link

Another +1 for this. Great app but I want more spaces (either windows or tabs or both).

@ghost
Copy link
Author

ghost commented Jul 31, 2017

Just to let you know, as I finally have some spare time, I've started brewing the things mentioned, for now it will be sidebar for projects/individual scratches, tabs will come later.

As of now I have working, unstyled sidebar which enables user to switch between different scratches.
I assume the hierarchy will look like this:

.fromscratch
  projects
    some_project
      scratch_1
      scratch_2
      ...
    another_project
      scratch_1
      ...
    ...

Adding/removing projects/scratches is not implemented yet but navigation works given proper directory hierarchy has been set up. For now it works on Ubuntu, I will add support for Windows/Mac when the whole sidebar/tabs feature is ready and styled.

Cheers ;)

@ghost
Copy link
Author

ghost commented Aug 8, 2017

Awwwwright!

The sidebar is ready, at least first version of it.

What works:

  • expanding/collapsing the sidebar
  • creating/renaming/removing projects and child scratches
  • of course, navigation between projects/scratches
  • access and defaulting to default workspace located as it is on master
  • preserving state of sidebar / open projects/scratches between sessions
  • validation/error proofing (tried to test thoroughly)

What doesn't work for now:

  • dynamic resizing of sidebar (drag and resize)
  • light theme for sidebar

What is unknown:

  • support for Mac / Windows - I developed it on Ubuntu, on Mac it may work, on Windows probably won't. Any tests would be appreciated. I will test Windows when I have time, unfortunately I don't have access to Mac.

All in all I started using it myself and I think it's very convenient, haven't encountered any bugs yet.

@Kilian would you be so kind to give me permission to create branch in this repo?

@Kilian
Copy link
Owner

Kilian commented Aug 8, 2017

@Brachacz Please fork the repo to your personal account, push your changes there, then make a pull request!

I've been thinking about this and I am not sure how well it fits with the main vision behind FromScratch, but I don't want to shoot anything down before seeing it. I'm more than happy to collaborate to see how we can integrate it with FromScratch in a way that does align with the goals I have for FromScratch. I have other React projects for which I wrote my own drag-to-resize, so I can help out there.

Mac/windows compatibility should be fine as long as you use node's path functions.

@ghost
Copy link
Author

ghost commented Aug 9, 2017

In that case, I will refactor my code to use universal path construction first and then make a pull request.

@Kilian
Copy link
Owner

Kilian commented Aug 9, 2017

Sounds good!

@ghost
Copy link
Author

ghost commented Aug 9, 2017

@Kilian
Ok, fs support should be ready, still works on Ubuntu but I can't run it in production environment and test it on Windows - I can't seem to build the app properly.
npm build does not generate dist/bundle.js..
What is your process of packaging? I can see that you have some scripts in package.js but how do you build bundle.js and use package.js?

@Kilian
Copy link
Owner

Kilian commented Aug 9, 2017

👍

I package directly to an electron app, using npm run package or npm run package-all.

@ghost
Copy link
Author

ghost commented Aug 10, 2017

@Kilian
Thanks for directions, everything seems to be working on Ubuntu as well as on Windows except for one thing - I used Roboto font and included it exactly like you did it with FiraCode,. While it works well when running development server, I can't get it to work when packaged, sidebar font defaults to system serif (looks ugly).

Do I have to include the font file in some kind of config?..

EDIT: Nevermind, I used wrong loader :)
I will make pull-request in a moment.

@LoganS1
Copy link

LoganS1 commented Oct 29, 2017

I like the idea of tabs/sidebar being implemented, but disabled by default... or only opened through a key combination

@Kilian
Copy link
Owner

Kilian commented Oct 29, 2017

@LoganS1 we're working on this in #57

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants