jasonetco / flintcms Goto Github PK
View Code? Open in Web Editor NEWπ₯π₯ A Node.js CMS
Home Page: https://flintcms.co
License: MIT License
π₯π₯ A Node.js CMS
Home Page: https://flintcms.co
License: MIT License
Currently, the only available URL route for an entry is /:sectionSlug/:entrySlug
, which is pretty lame. The route for all entries in a section should be configurable in the section. In the catch-all route currently used for pages, we can also evaluate to route to an entry.
The Dropdown field is throwing an error:
TypeError: sorted is undefined [index.js:50]
That's components/Fields/Dropdown/index.js
.
I'm not too familiar with MongoDB, though I've enjoed using database migrations and seeding that is available in frameworks, such as Laravel.
I'm wondering how to migrate/import/export database/collections to/from MongoDB, in order to keep the project consistent between environments? Is there some sort of hidden magic, or JSON exporter/importer tool (given that Mongo is a BSON)?
How do you guys recommend approaching this? With SQL it's fairly easy, create a dump and reimport it to another env.
Hello Guys,
I've installed flint following https://flintcms.co/docs/installation/ but once i run node index.js somre errors displays:
(node:20789) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'error' of undefined
at missingEnvVariables.forEach.v (/home/antonio/Scrivania/experiments/flintpractice/node_modules/flintcms/server/utils/validate-env-variables.js:14:40)
at Array.forEach ()
at validateEnvVariables (/home/antonio/Scrivania/experiments/flintpractice/node_modules/flintcms/server/utils/validate-env-variables.js:14:23)
at Flint.startServer (/home/antonio/Scrivania/experiments/flintpractice/node_modules/flintcms/index.js:93:33)
at Object. (/home/antonio/Scrivania/experiments/flintpractice/index.js:7:13)
at Module._compile (internal/modules/cjs/loader.js:678:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:689:10)
at Module.load (internal/modules/cjs/loader.js:589:32)
at tryModuleLoad (internal/modules/cjs/loader.js:528:12)
at Function.Module._load (internal/modules/cjs/loader.js:520:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:719:10)
at startup (internal/bootstrap/node.js:228:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:575:3)
(node:20789) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:20789) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
I'm the only who get this error?
Thanks
Likely a CodeMirror error. Needs investigation.
Hi,
I just wanted to say that I love the idea behind flintcms. I've just installed it and I'm trying to run the example code:
const Flint = require('flintcms');
const flintServer = new Flint({
siteName: 'My Amazing Flint Site!'
});
flintServer.startServer();
But it's not working. I get returned to the command line without any errors, nothing in the log.
Any ideas?
I'm running Mac Sierra 10.12.6
Node v9.6.1
npm v5.6.0
Just wanted to say this is a killer start on something that I've been wanting to work on / use for a long time. Craft is great for organizing content so it is a great inspiration for a Node based CMS. There is a huge void that Flint could fill. I can't stand PHP anymore.
Looking forward to contributing where I can. Looks like you haven't made any commits in a while. Do you plan on continuing to work on Flint?
Also, I couldn't figure out how to add a new admin account from the docs. After reviewing the source I found the post route to add a new admin and did it from Curl.
I'm a Designer/Art director by day with a programming background so I can help with UX and design work as well.
Looking into this one it seems that the date is saving as a string when being used as a page field. But the picker works fine in the aside when it is supplied a proper date date from the DB.
I can get it to work by changing the value def in the DatePicker constructor() to:
const value = (props.defaultValue ? new Date(props.defaultValue).getTime() : props.value);
But I think this is more of a hack than a fix. You probably have a better idea how to normalize the data the field is receiving.
The Rich Text field's background of both the editor and the toolbar is transparent instead of white. This becomes an issue when a Rich Text field is within a Group field - Group fields blocks are contained in a grey box, which shows through the Rich Text field.
The field layout is not consistent between NewEntry and NewSection (or Section).
One thing that I'm missing from Flint with regards to its main source of inspiration is the ability to define global fields that will be available throughout the entire website.
These fields could be used for variety of things, but most importantly to define stuff like metadata (which could be overridden with page-/entry-specific fields in the template logic) and other bits of info.
@JasonEtco what are your thoughts on this? How feasible do you think that could be? I'm no good with React, so I doubt I'd be able to write this functionality myself, unless there's a way to leverage the plugins subsystem without dabbling into React?
Add up/down arrow buttons to move a block in a Group field's order.
Hello,
As a member of theΒ Node.js Security WG
I would like to draw your attention to a security report that has been made regarding this issue.
I have made attempts to contact the person identified as a maintainer of this package but did not get any answer. What is the best way to reach someone with commit rights over this repo and hopefully npm publishing rights as well, in order to invite them to privately discuss the issue on the HackerOne platform and provide a resolution?
Thanks,
Liran.
References:
Design the empty state for the various pages that have content. Example, when a user opens their Flint site for the first time the dashboard's homepage should have a more inviting design that illustrates the best next steps.
Re-compile the template dev's SCSS files when they are changed.
Hey, great initiative.
Love the ideas, inspiration and execution of the project. I was wondering since multilingual is baked into CraftCMS, if it was a planned feature for Flint as well.
Thank you!
Oz
Changing the settings for a Page (via Settings>Pages
) does not update the available content fields in that Page's content view (via Pages>Page
). It's likely just not adding back in the reducer post-fetch.
A new feature, the ability to add "Tags" to entries. This will be a way of organizing entries within the same section on a more granular level, and will enable more broad searches.
An endpoint to search for entries or pages whose title contains a string. Eventually, when tags are added, it will also search for entries with a given tag.
Currently, when a new server starts up, the user is just thrown into it. An onboarding modal/page would be a good way of instructing people what the first steps are (make field, make a page/section, make an entry).
Find a way of enabling an option to add a hash to the compiled CSS bundle to allow for cache busting. This can be done fairly easily by timestamp when the bundle is compiled, then stored in a global
variable and added to the collectData
's flint
object. So you would use it like:
<link rel="stylesheet" href="{{ flint.cssBundle }}">
It could also store the hash in the database's Site
document.
It would also be cool to compare the bundle that already exists before overwriting it, to see if the hash needs to be updated. This would prevent unnecessary cache updates.
Running npm run lint
should report errors within all files, but I believe its only working in server/
JS files right now.
Create a log file that is auto-updated when any mutation succeeds or fails, then create a view for this log file in the admin dashboard.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.