-
Notifications
You must be signed in to change notification settings - Fork 10.3k
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
Admin GUI #623
Comments
Yes recently I've been thinking about how to make it easier for non-devs to be able to easily edit a markdown file in the project without having to know they are using git. So I think an electron app would be a nice fit for that. |
I haven't used this yet. But it looks like netlify is working on a similar solution. https://github.com/netlify/netlify-cms |
Another interesting way to do this perhaps would be to create an Atom plugin which runs a gatsby site and displays it in a side pane. Though that's perhaps not as user-friendly as what you're looking for. But yeah — a polished app would be a huge boon. I imagine opening an app, seeing a bunch of starters w/ screenshots, clicking on one to create a new project, having live editing + preview site in the app, then one clicks to push the code to github and to deploy somewhere. That'd be a pretty amazing experience + make Gatsby accessible to a much larger group of people who aren't comfortable with command line tools but could edit markdown and jsx just fine. http://www.kalabox.io/ and https://www.ostraining.com/blog/coding/compiling-tools/ are good examples of this sort of thing. |
Great idea was thinking about something similar oriented for blogging as an electron app for gatsby. But was blocked by the fact gatsby need to have python installed to work. Will the app work even if a user download the app and doesn't have python installed ? |
I might be wrong but since with Electron you "build" the app — only the developer or build system would need Python not the end user? Node.js (and Gatsby) only requires Python for building some native dependencies. It's not needed to actually run node.js apps like Gatsby. |
Okay that's perfect then thanks! |
For now I saw gatsby is only accessible as a cli but would be great to be also accessible via an api like http://www.metalsmith.io/ (or maybe it's not your goal with it) what do you think? Users will be able to create admins ui and other things. |
It'd be fairly straightforward to expose a programmatic API for Gatsby — would be happy to accept a PR for that. In the meantime, it's trivial for an Electron app to shell out and run Gatsby as a separate process. |
My point is to allow user to use the app even if they don't have gatsby installed, I will try to bundle gatsby in my electron app an call it as a separate process |
Yeah just add Gatsby as a dependency to your electron app. The global
install isn't necessary.
…On Mon, Jan 9, 2017, 1:39 PM Léo Pradel ***@***.***> wrote:
My point is to allow user to use the app even if they don't have gatsby
installed, I will try to bundle gatsby in my electron app an call it as a
separate process
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#623 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAEVhyPFr-B6koWGKKyLkjQZQxTyELV4ks5rQqkbgaJpZM4LZsHL>
.
|
Nice thanks. Is there a way to specify an absolute path for the build? like |
No
…On Mon, Jan 9, 2017, 2:17 PM Léo Pradel ***@***.***> wrote:
Nice thanks. Is there a way to specify an absolute path for the build?
like gatsby build /Users/...
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#623 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAEVhwrOX657sIXDKYDQ-701zOWpfiC2ks5rQrIUgaJpZM4LZsHL>
.
|
Would you be interested in a pr for an option (-p maybe) to be able to set a custom path ? |
I wasn't meaning an out dir folder but an in dir path for the global command. |
Ah gotcha — yeah, 1.0 will be much more flexible where you get data from — #420 |
1.0 looks amazing can't wait to try it out. Thanks for your hard work. |
@KyleAMathews - after seeing that you'd forked it, I remembered that NetlifyCMS (repo) was a thing — I imagine it would be worth a look to see what it'd take to integrate it with Gatsby? |
Another idea based on an old personal POC: use trello as a database for blogging (just need to find how build on each change (zapier or something else)). In short we have used:
For all details: (sorry I never take the time to translate the example blog in english) In my mind it's will be a plugins: [
{
resolve: `gatsby-source-trello`,
options: {
name: `posts`,
boardId: `c94SaRKm`,
apiKey: `5af287a3734f0af280d09c2d3d0e3914`,
draftLabel: `draft`,
listName: `done`
},
}
] Voilà! It's just an another idea, tell me if you find this cool or useless 😉 |
@fabien0102 not the slightest bit crazy!! #408 (comment) Trello is such a beautiful UI and data structure. There are so many ways you could use it to build sites. Would love to see a really nice Gatsby plugin for it. This is totally doable now. And I have another refactor I'm working through (mentally right now, soon in practice) that'll make external source plugins super easy. |
Love @fabien0102's trelloblog idea! It could make for a great "headless CMS". |
Started working on this. Currently just put together a blog post writer :) https://github.com/chiedo/gatsby-editor May or may not add more editing tools in the future but this has been helpful for the non-technical folks on my team. In the future, with enough motivation, I could build on this to start creating an admin panel. But that would be some work. Very young and currently just made for my use-case but could easily be modified to be more dynamic. |
@chiedo nice! Yeah, making something for a specific use case is better before trying to make something generic. |
Wouldn't https://github.com/netlify/netlify-cms be the ideal foundation for that? Would certainly save you a lot of work. |
First time hearing about it @erlend-sh Thanks! |
Oh! It was already mentioned once in this issue, so I was afraid I might be coming off as a nag 😅 It's a very exciting project with several paid contributors behind it, so it's very likely to stick around. They're also working to make it completely independent of Netlify: decaporg/decap-cms#465 It should work with gatsby nearly out of the box, but it'd be nice to have a starter template like for Jekyll: https://github.com/netlify-templates/jekyll-netlify-cms |
@erlend-sh I've finished making netlify-cms independent of the netlify hosting ecosystem, and I'm looking to create a netlify-template for gatsby. I've seen a couple of people have done it, but haven't shared their code, so that's rather unfortunate, but I'll make sure to update people when I've finished up. |
Hi all, I'm also on path to use NetlifyCMS as a back-end with the advanced starter I found on community pages today. I have previously used the quick start guide with no problems with hugo and honestly, with netlify.com as a building service, all works pretty well. NetlifyCMS is supposed to be placed in static folder, which I did with the advanced example mentioned above. Firstly, it broke with this error log:
Secondly, it runs ok, but Another editor a colleague shared with me recently is this one: https://github.com/ory/editor |
Not sure about other resources but the development server (currently) won't try to load html from the static folder. I think this should be changed but for now, if you want to use the admin console, run "gatsby serve". |
@KyleAMathews you're right - my fundamental mistake was not thinking in react way.
Then, when deployed to netlify.com, the authorized client of netlifycms can post on my behalf. I still haven't gone too deep into configurations so that the files get parsed again normally through gatsby, but this simple step was good enough for me before go to sleep today :) |
Hi all, as @tortilaman mentioned that it's possible but nobody has shared, here is my short note. If you're more into the configurations, here they are. This is the advanced starterkit with configurations in both systems to point and work with one and the same folder for content + flattening the file structure of the md files. |
I've noticed that Netlify CMS quick start instructions now contain a helpful note about Gatsby. |
@KyleAMathews ⬆️ Are you planning on changing the development server to serve static files, or would you like someone else to step up for that? |
@tech4him1 this is supported already https://www.gatsbyjs.org/docs/adding-images-fonts-files/#using-the-static-folder |
@KyleAMathews Thanks you! I'm sorry I misunderstood, here is my bug report: #2352. |
Hi all! |
@Necmttn -- thanks for taking the initiative on this. We really appreciate this -- huge priority for making Gatsby accessible & easy to use for more people, especially folks who are experiences website developers but less used to the Gatsby toolchain. Could you post updates on this (screenshots, new features) on this thread as you make progress? |
Not related to Admin GUI, but running gatsby on clientside(maybe a startup script that bootstraps the building process on client side | this doesn't seem like a trivial task) would be pretty cool. People could then just fire up a fork of it in sites like https://codesandbox.io, https://stackblitz.com, https://codepen.io |
With Netlify CMS, one can only deploy to Netlify's own CDN, currently. You'd have to hook into their deploy process somehow to change that? A Gatsby editor would be desirable IMO, which at the very least could deploy to a battle-tested GitHub Pages. |
@jtrein Netlify CMS can deploy to any host you want, I implemented that a few months ago. I added documentation on it as well, but it might have been removed since then, I haven't been keeping up on it. |
@tortilaman Cheers. Good to know. Maybe a good interim solution is simply adding better Gatsby support to Netlify CMS, as you mentioned earlier in your comment. Apologies, I missed it when you said you added host support :-) |
The process is still the same for Gatsby, and it's pretty simple - a page component loading the assets of the CMS. I also opened a pull already in for this, the only new thing in time was that Netlify moved their auth workflows to a separate service. For Gatsby, all works the same. |
Just spent few minutes to try the new NetlifyCMS 1.0. The UI is greatly improved and there is a new separate identity management which worths trying. Turns out @AustinGreen has prepared a well-appreciated starter which includes preview pane tweaks. Getting started with Gatsby and NetlifyCMS hasn't been easier, just spin NetlifyCMS starter which includes the Gatsby starter :) The only detail you might need to take care at this stage is await the first successful deployment before accepting the invite from Netlify Identity. At my case, it actually didn't come and I had to reset the pass manually, but it's really a small thing which will surely be smoothed with time. |
This is still a great idea but let's close this to clean up our issues. If you'd like to make a serious go at working on a Gatsby desktop, please file a new issue. |
Curious on thoughts for creating a Admin GUI for Gatsby sites.
My initial thought was something like what forestry.io does with Jekyll projects: https://forestry.io/
But free and open sourced. Basically, hook into a github repo, push permissions, editor in GUI and away you go.
But, I actually wonder if instead of a web based solution, if a desktop app might actually be a better fit. It would make it so a github repository isn't absolutely necessary, all files could be local and on host, nowhere else.
Could have it read a specific directory, parse what files are currently there, set up a connection to a hosting provider.
Could use any of the many markdown wsiwyg editors out there for post creation/editing.
'Preview' button would run local dev server. 'Publish' would run bundle and push to host.
Right now I'm thinking this is an Electron App.
I'd like some feedback on what people think about web vs. desktop solutions, and a little bit of guidance on what they like to see. I'd be willing to take an initial stab at making something like this if there is enough interest.
The text was updated successfully, but these errors were encountered: