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

Keystone 4 documentation #4181

Closed
Noviny opened this issue Apr 6, 2017 · 14 comments
Closed

Keystone 4 documentation #4181

Noviny opened this issue Apr 6, 2017 · 14 comments
Assignees
Milestone

Comments

@Noviny
Copy link
Contributor

Noviny commented Apr 6, 2017

We recently made a big push to update our documentation, as well as streamline the process of updating it in the future. To that end, we've redone the documentation site using gatsby, and have put it up on netlify.

What would be great is feedback on the documentation we've got. If you've got some time, a bit of a review would be amazing.

The most important pages to look at are:

The questions I'm most interested in are:

  • Can I find the information I want?
  • Is the information clearly presented?

Feedback is welcome here, or if you find an issue you can solve, you can make a PR to the docs branch.

Thanks in advance!

@christroutner
Copy link
Contributor

christroutner commented Apr 6, 2017 via email

@Noviny
Copy link
Contributor Author

Noviny commented Apr 7, 2017

@christroutner Just checking, are you flagging this as three separate issues?

  1. Node version specification not provided
  2. No information about sudo installing if you cannot globally install
  3. Master branch of keystone is often broken

The third does not seem to be a generator or documentation issue, as the generator pulls a set version from npm, and doesn't interact with master.

@gcortese
Copy link

Hi - i would like to use keystone 4 for a project, can you please let me know if/what in the documentation you mention is up-do-date and 'reasonably' complete ?
Thanks a lot,
giovanni

@bill-kidwell
Copy link

I am a new KeystoneJS user. I have read a bit about Keystone in the past, and have been interested in looking at it for a while.

For some context, I have almost 20 years of software engineering experience, and the last 3 years have focused around JavaScript -- primarily React.js and d3.js

Here is my feedback on the Getting Started Page.

It provides you with an easy connection to mongoDB It wraps both mongoose and expresss, and provides more detailed database fields, with setups for common information patterns. Why? For the admin UI.

The first part of this sentence is a run-on. I think it is better as:
It provides you with an easy connection to mondoDB. [Keystone accomplishes this by wrapping] mongoose and express, providing more detailed database fields, and setups for common information patterns.

"Why? For the admin UI." doesn't make much sense to me at this point. You might need to expand on this to get your point across.

Keystone makes it easy to bring your own view engine, structure your routes however you want, and modify your data structures to suit you, all while making doing so easier.

You begin and end with easy here. Perhaps rephrase:

With Keystone you bring your own view engine, structure your routes however you want, and modify your data structures to suit you. Keystone makes it easy.

To answer your questions, this page provided me with the overview I needed. It gave me an idea of the technologies in play, and it pointed me to multiple ways to get started, from beginner to complex. With a few minor changes, I think this is good.

I will take a look at the yeoman guide next.

@bill-kidwell
Copy link

As previously mentioned, there is no mention or pre-requisites. I was unsure which version of node.js would work. I am using v6.11.2. I also ran into problems due to the lack of python.

I got a number of warnings when installing generator-keystone

$ npm install -g generator-keystone
npm WARN deprecated [email protected]: the module is now available as 'css-select'
npm WARN deprecated [email protected]: the module is now available as 'css-what'
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue

NOTE: Please advise if I should open separate issues for these.


Upon creating a project with yo keystone, there were additional warnings.
There was also an error because I needed python on the path. I am unsure, based on the output whether that is optional or not. I recommend that you state it up front, and if it is not optional, that generator-keystone fails.

npm WARN deprecated [email protected]: letsencrypt-express has been renamed to greenlock-express and will now be maintained as such.
npm WARN deprecated [email protected]: Moved to localhost.daplie.me-certificates
npm WARN deprecated [email protected]: letsencrypt has been renamed to greenlock. Please find it at npm greenlock
npm WARN prefer global [email protected] should be installed with -g

gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\ursa):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: node-gyp rebuild
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1


Re: the structure, I found a couple of discrepancies between the generator's output and the docs. It may be due to the options that I chose. It also may be due to the python errors I saw. It might be wise to call that out if they are intentional.

I marked them with asterisks below.

|--lib  *not present*
|  Custom libraries and other code
|--models 
|  Your application's database models
|--public
|  Static files (css, js, images, etc.) that are publicly available
|--routes
|  |--api *not present*
|  |  Your application's api controllers
|  |--views 
|  |  Your application's view controllers
|  |--index.js 
|  |  Initialises your application's routes and views
|  |--middleware.js
|  |  Custom middleware for your routes
|--templates
|  |--includes *not present*
|  |  Common .pug includes go in here
|  |--layouts 
|  |  Base .pug layouts go in here
|  |--mixins
|  |  Common .pug mixins go in here
|  |--views
|  |  Your application's view templates
|--updates
|  Data population and migration scripts
|--package.json
|  Project configuration for npm
|--keystone.js
|  Main script that starts your application

The section on the User.js file appears to be out of date.
I assume the Relationships section is added as part of answering Yes to the blog option. I can leave that out and submit a pull request if the content below is correct.

var keystone = require('keystone');
var Types = keystone.Field.Types;

var User = new keystone.List('User');

User.add({
  name: { type: Types.Name, required: true, index: true },
  email: { type: Types.Email, initial: true, required: true, index: true },
  password: { type: Types.Password, initial: true },
  canAccessKeystone: { type: Boolean, initial: true }
});

User.register();

is now

/**
 * User Model
 * ==========
 */
var User = new keystone.List('User');

User.add({
	name: { type: Types.Name, required: true, index: true },
	email: { type: Types.Email, initial: true, required: true, unique: true, index: true },
	password: { type: Types.Password, initial: true, required: true },
}, 'Permissions', {
	isAdmin: { type: Boolean, label: 'Can access Keystone', index: true },
});

// Provide access to Keystone
User.schema.virtual('canAccessKeystone').get(function () {
	return this.isAdmin;
});


/**
 * Relationships
 */
User.relationship({ ref: 'Post', path: 'posts', refPath: 'author' });


/**
 * Registration
 */
User.defaultColumns = 'name, email, isAdmin';
User.register();

Here you start talking about settings in keystone.js (I think)

Authentication and Session Management
For Keystone to provide authentication and session management to your application, it needs to know a few things:

The option user model must be the name of the Model that Keystone should look in to find your users. If you use a different model name, be sure to set the option correctly.

but you don't mention keystone.js. Educated guess.


Routes & Views

Usually, the easiest and clearest way to configure the logic for different routes (or views) in your application is to set up all the bindings single file, then put any common logic (or middleware) in another file.

I think this should read "in your application is to set up all the bindings [in a] single file"

I'll pick up from here next time.

@bill-kidwell
Copy link

@Noviny,

Can you confirm this is the type of feedback you are looking for? I noticed a few things out of date, so if it is too early for things that low level... just let me know.

@Noviny
Copy link
Contributor Author

Noviny commented Sep 8, 2017

@bill-kidwell

Honestly, anything you see that needs fixing, it would be amazing to get help with. The documentation has now been merged in to master, so if you see something on the new website that's wrong, make a PR to update it and tag me and I'll jump on it.

@zacharysang
Copy link
Contributor

Does anyone happen to know if SSL setup docs are currently being worked on? I just went through the process of that setup and experienced some gaps (Eg: configuration settings that needed to be set, but not mentioned) that required me to read through the source to figure out. If this isn't something already in the works, I'd be happy to work on this myself!

@christroutner
Copy link
Contributor

@zacharysang I also struggled trying to figure out SSL setup with KeystoneJS. I think I left a thread on the Google group with the results of my research. I eventually figured it out and wrote up this readme on how to setup Nginx and a Let's Encrypt SSL:

https://github.com/skagitpublishing/docker-connextcms/tree/master/nginx

The directions focus on ConnextCMS, running in a docker container, but it should work equally well for a KeystoneJS installation.

@internetErik
Copy link

internetErik commented Sep 13, 2017

This is what I did for SSL

let keystoneInit = {
  'name': 'Some Site',
  'brand': 'Some Site',
  'static': '../public',
  'view engine': 'hbs',
  'mongo': process.env.MONGO_URI || 'mongodb://localhost/some-site',
  'emails': 'templates/emails',
  'cookie secret': process.env.COOKIE_SECRET,
  'auto update': true,
  'session': true,
  'auth': true,
  'user model': 'User',
  'port': process.env.PORT || 3000,
};

if(process.env.NODE_ENV === 'production') {
  keystoneInit['ssl']      = true; // true to start both, 'only' to start only sll server
  keystoneInit['ssl key']  = process.cwd() + '/some.key';
  keystoneInit['ssl cert'] = process.cwd() + '/some.crt';
  keystoneInit['ssl ca']   = process.cwd() + '/some.pem';
  keystoneInit['ssl port'] = process.env.SSL_PORT || 443;
}

keystone.init(keystoneInit);

@zacharysang
Copy link
Contributor

zacharysang commented Sep 14, 2017

@christroutner @internetErik I guess I am referring more specifically to documenting the letsencrypt setup process via letsencrypt config. Following this article (and with some investigation of my own), I was able to fully setup SSL certificates using only environment variables (dotenv) and the configuration object passed into keystone.init({...}) all within keystone.js. This functionality is really powerful and helpful for setting up keystone, but some of the necessary details are currently missing from the docs. While there is overlap with the greenlock-express module, it may still be worth documenting the various config settings that can be included on the keystone side.

Here is an annotated version of my config object passed to keystone.init({...}). All of this achieves configuring the keystone application to automatically register and renew SSL certificates with letsencrypt on top of configuring ports and redirects:

'port': process.env.PORT || 3000,
'ssl port': process.env.SSL_PORT || 3001,
'ssl public port': 443, // different from `ssl port` if using iptables/ port forwarding
'ssl': 'force', // force redirects to https port 
'ssl cert': letsencryptPath + 'cert.pem', // path to generated certificate (generated at `$HOME/letsencrypt/etc` by default)
'ssl key': letsencryptPath + 'privkey.pem', // path to generated private key (same default as ssl cert)
letsencrypt: {
		email: '[email protected]',
		domains: '[email protected]',
		register: true, // whether or not to automatically register with letsencrypt
		tos: true, // agreeing to letsencrypt's Terms of Service
		production: process.env.PRODUCTION, /* specifies if keystone should use the staging letsencrypt certification server or the production one (it is advised to be used during setup to avoid hitting the rate limit). Values should be `false` for staging (I excluded the .env variable since any value is read in as a string) or `true` for production ( :) ) */
}

@htor
Copy link

htor commented Oct 20, 2017

Not sure what system is used to generate / write this documentation, but i have a couple of suggestions.

  1. As part of streamlining the process of updating the docs, maybe we should start versioning the docs - at least for the API section?

A little drop-down or selector with v3, v4 could point to the relevant versions of documentation that are compatible and people would be less confused if the older docs didn't disappear from history, as they may rely on them. The older versions would have a reference, as well as the newest.
A lot of popular libraries do this today: https://vuejs.org/v2/api/, https://docs.angularjs.org/api.

  1. The docs seems to be spread out everywhere in markdown files in the source code directories outside of docs. See for example https://github.com/keystonejs/keystone/tree/master/fields and https://github.com/keystonejs/keystone/tree/master/fields/types/password has their own README.md. Is this the preferred way, or having the documentation in docs? I suggest having everything in the docs directory, as it is more common in software projects.

@apoorvkapil
Copy link

Installation guide to keystonejs 4.0 beta is ambiguous and doesn't give proper insight how to install it.

I have used below command

npm init

npm install --save keystone@next

It's just listed all node modules and didn't get any core keystone files to start or build the project.

@stennie
Copy link
Contributor

stennie commented Jun 6, 2018

@htor As mentioned at the start of this discussion, the documentation is now a static site built using Gatsby. I couldn't find info on how to build the docs, so created #4654 (Add guide for building Keystone 4 docs) with some quick instructions.

Since the new documentation has been merged to master a while ago, I'm going to create & link separate tracking issues for any lingering suggestions from this discussion thread so the remaining tasks are clearer. If anyone has suggestions for documentation improvements, please create a new issue.

If anyone is interested in contributing to Keystone 4 documentation, please join the KeystoneJS Community Slack for feedback and discussion.

Regards,
Stennie

@stennie stennie closed this as completed Jun 6, 2018
ghbolivar added a commit to ghbolivar/keystone that referenced this issue Feb 24, 2019
* Playing with Travic CI build

* Playing with Travic CI build

* Fix attempt for issue keystonejs#3979

packages.js generates a Uncaught SyntaxError: Unexpected string when minified, and fails to load the admin interface.
After some digging I found that uglifyjs compresses the typeof checks into the following format "undefined"==typeof x which triggers a syntax error after passing through another minification process when deployed.

A way to prevent this from happening is to allow semicolons in the uglifyjs command.
Also needed to add the 'aphrodite/no-important' to the required packages for the Admin UI.

* Updating contact info

* Correcting password type check in PasswordType

* fix:typo in handleError in screens/Item/index.js

* fix:module-name in import statement in EditForm.js

It was working before but the `./` was extraneous and redundant.

* Fix: model with required field that defaults to 0 can't be saved

Number.prototype.validateRequiredInput() merely checked if the getter
for the field returned a truthy value. That fails if the default happens
to be zero (which is a falsy value).

The fix is to simply check if the return value is a number.

* Fix: model with required field that defaults to false can't be saved

Boolean variant of commit d28bacc.

* Commenting out redundant code in www dir

* Removing `path` from server/initViewEngine

* Removing commented out PropTypes import

* Removing redundant import

* [WIP] Updating packages (only minors and patches)

* [WIP] Updating more packages (minor & patch)

* Updating last of the minor and patch packages

* Removing old aphropdite references

* Fixing some "Prop types declarations should be sorted alphabetically" (react/sort-prop-types) errors, allowing `npm run lint` to run

* Changes to the few dependencies that were depending on [email protected]:

- knox has been replaced with keystonejs/knox as the package is not being maintained anymore and has a `*` for `mime`
- [email protected] uses [email protected] (which is compatible with node <=6.x)

* Fixing CSRF by reverting the (well meaning) changes made in PR 3756 (keystonejs/keystone#3756). I don't know if this will resurface issue 3420 (keystonejs/keystone#3420), which the PR apparently addressed.

* Add some functionality to prevent macro injection via CSV export

* Fixing file extention

* extract password validation so users can access the validation within their own code for things like password reset

* Correcting password type check in PasswordType

* Expanding password field configuration options and improving defaults (to align with current NIST guidelines). Updating, expanding on and clarifying relevant docs.

* Escaping values in the raw value of markdown field so it can be safely displayed within an HTML document

* Sanitization update to markdown fields -- remove unsafe html tags from the markdown value before it's rendered into html

* Updating the markdown fieldtype docs to include the new sanitizer options

* Prep'ing for release as 4.0.0-beta.6

* Fixed  in Adapters.FS

* nerfed strongly worded comment

* Updating packages

* v4.0.0-beta.7

* Documentation about customizing the navigation bar

* Add packages.js build

* Fix Password `validateInput` breaking tests related to security updates

* Revert "Merge branch 'jm-fork' into master"

This reverts commit 8008781, reversing
changes made to f08baa4.

* (feat) implements image thumbnails for the File type

* moved thumb check to field level

* Fix for known security vulnerability in marked 0.3.6 dependency

* updating packages

* v4.0.0-beta.8

* Fix autocleanup for cloudinary fixes 3476 (keystonejs#4205)

* Update `cloudinaryimage` to respect autocleanup

* Fixes autocleanup for cloudinaryimages

* Remove completed TODOs

* Deprecate currency setting (keystonejs#4132)

* fix paginate to return on count error (keystonejs#4167)

* Update README.md (keystonejs#4569)

Add field type Code (http://keystonejs.com/docs/database/#fieldtypes-code)

* Should check undefined instead, otherwise value === 0 will not be able to show (keystonejs#4524)

* Update application-updates.md (keystonejs#4582)

* Update yo-generator.md (keystonejs#4581)

* Update Readme.md (keystonejs#4583)

* replace hardcode keystone to path admin variable (keystonejs#4586)

* replace knox git dependency with knox-s3 (keystonejs#4574)

- knox-s3 is a fork of knox with one difference: a mime 1.x dependency that avoids breaking changes in mime 2.x
- this matches the `keystonejs/knox` repo, but is published to npm
- allows keystone to be installed without git e.g. in a node:slim Docker container

close keystonejs#4573

* Upgrade moment for CVE-2017-18214 (keystonejs#4592)

For more info, see: https://nvd.nist.gov/vuln/detail/CVE-2017-18214

This is currently triggering github security alerts on all projects using keystone 4.x

* Fix website (keystonejs#4615)

* Update website to work

* fixing one test at a time

Signed-off-by: Dominik Wilkowski <[email protected]>

* fixed keystonejs#4628

Signed-off-by: Dominik Wilkowski <[email protected]>

* fixing some typos and unnessesary comments

Signed-off-by: Dominik Wilkowski <[email protected]>

* removed commented out tests as there are not meaningful

Signed-off-by: Dominik Wilkowski <[email protected]>

* fixing admin ui tests (thanks to Vito)

Signed-off-by: Dominik Wilkowski <[email protected]>

* Fix test failure due to password complexity requirement added in 8ecb809

* Fix the wrong link to typography

* Added the typopgrahy plugin into gatsby-config

* Update typography to latest version

* Fix typo in @keystonejs and change GitHub link to https

* Remove failing tests as discussed with @JedWatson and @dominikwilkowski

* Keystone 4 website clean up and fixing stuff

* Home page clean up, inclulding Header redesign
* Doc page clean up, refactor the navigation
* Mobile optimisations
* A lot of minor polishes

* Replace window.location.pathname with this.props.location.pathname

* Add React Helmet

* Add Twitter Butotn

* Mobile optimsations

* Linting warning fix

* Adding in the missing DayPicker-WeekdaysRow (keystonejs#4601)

* Adding in the missing DayPicker-WeekdaysRow

* Fix keystonejs#4652: Remove EOL Node releases from Travis testing

* show color swatch on color field

Fixes issue: keystonejs/keystone#4074

* Fix keystonejs#4665: Update Readme for Keystone 4.0.0-rc0

* Fix missing bullets and tweak per feedback from Jed

* Fix bullets & update RC title

* Fix Relationship Fields link

* Fix for empty relationships submitting no value

* Fix for updating single relationship values

* updating packages bundle

Signed-off-by: Dominik Wilkowski <[email protected]>

* Remove link to `keystone-starter` (currently a v0.3 demo that doesn't cleanly deploy to Heroku)

* Add mention of new File API and link to Contributor Guide

* Reorganise README sections and add Table of Contents

* Move field type overview to documentation

* Move dev & testing information to Contributor Guide

* Change Netlify doc links to https

* Change Thinkmill link to https

* Consolidate the Contributing blurb

* Update GitHub issue/PR templates

* Tidy home page text & link to current release information

* Fix keystonejs#4686: CloudinaryImage(s) fields were incorrectly marked as deprecated (keystonejs#4690)

* Update deps according to semver

* Remove --growl from Mocha options; fails on Mocha 4+ unless `growl-notify` is installed
(ref: mochajs/mocha#3088)

* Update to latest browserify

* Upgrade `debug` dependency

* Fix bug in Safari where XHR form submission fails with empty file input (keystonejs#4673)

* Provides a fix for a bug in Safari where XHR form submission fails when input[type=file] is empty

* Include keystone.version in startup message (keystonejs#4692)

* Remove unused title markdown from README.md

* updated packages bundle

Signed-off-by: Dominik Wilkowski <[email protected]>

* bumped version to RC1

Signed-off-by: Dominik Wilkowski <[email protected]>

* Added session max age cookie to match keystone.uid cookie expiry

* smooth scroll spped now based on current scroll position

* Restore/repair S3 image uploading in tinymce

* Use custom root for S3 paths

* Check that req.session.cookie exists before setting maxAge

* Make listing browser versions a more obvious PR testing requirement

* Enhance numeric fields

* Replace / with . to delimiter the file extension

* Update part-4.md

Corrected the api.event route. The "routes" was missing
app.post('/api/event', routes.api.event.post);

* Fix typo: s/gloing/going/

* Update options.md (keystonejs#4621)

Fix typo error udpatedBy -> updatedBy

* Fixed typo (keystonejs#4597)

* Added letsencrypt configuration docs for keystonejs#4181

* Added more info on Application updates with required relationships.

* Documented breaking change to `pre:routes` behaviour.

* Update `package.json` reference to rc1

* Upgrade qs to 6.5.2

* Add pointer to Keystone 4 beta/RC release notes

*  - Upgrade to Mongoose 4.13.14: https://github.com/Automattic/mongoose/blob/master/History.md#41314--2018-05-25
 - Add useMongoClient per http://thecodebarbarian.com/mongoose-4.11-use-mongo-client.html

* Update z-index of color chooser

The previous z-index of 2 was not enough for the popover to appear above the "Save" footer, which has z-index: 99

* Fix keystonejs#4706: Docs: Application Updates is 404

* Fix keystonejs#4707: Docs: Edit this page links are broken

* Fix keystonejs#4688: Deprecated File field types have broken docs link

* Remove WIP notes

* Fix keystonejs#4708: Update Getting Started page

* added semver notations to dependencies

Signed-off-by: Dominik Wilkowski <[email protected]>

* fixed typo

Signed-off-by: Dominik Wilkowski <[email protected]>

* Improve sanity checking for signin "from" param

* Minor fixes and improvements to the location field type (keystonejs#4455)

* Minor fix to location fields - no reason to depend on the order of address_components coming from Google

* Minor fix to location fields - Better handling of `address_components` returned from Google API

* Minor fix to location fields - no reason to depend on the order of address_components coming from Google

* Minor fix to location fields - Better handling of `address_components` returned from Google API

* Update to multer 1.3.1 and automatically clean uploaded files (keystonejs#4704)

* Update to multer 1.3.1 and automatically clean uploaded files

* Fix typo in bindBodyParser

* Add missing next() (thanks @ttsirkia!)

* Reviewed Getting Started documentation (keystonejs#4721)

- FIxed spelling, grammar and broken link issues with the Getting Started documentation.
- Ensured that Keystone is capitalised everywhere in the docs
- Set Mongoose docs link to V4

* updating package bundle

Signed-off-by: Dominik Wilkowski <[email protected]>

* bumped version 📣🎉

Signed-off-by: Dominik Wilkowski <[email protected]>

* FIxing broken links in README.md

FIxing broken links in README.md

* remove lock files

Signed-off-by: Dominik Wilkowski <[email protected]>

* ignore lock files

Signed-off-by: Dominik Wilkowski <[email protected]>

* Adding Favicon to Keystone 4 website

Tested with Chrome and Firefox.

* Added Google Analytics Code to V4 website

* Removed incorrect image

Removed safari-pinned-tab.svg, which was a black square.

* Created 404.js

Currently giving errors

TypeError: Cannot read property 'initial' of undefined

  - index.js:22 ExtractTextPlugin.<anonymous>
    [website]/[extract-text-webpack-plugin]/index.js:22:9

  - Array.forEach

  - index.js:21 ExtractTextPlugin.mergeNonInitialChunks
    [website]/[extract-text-webpack-plugin]/index.js:21:16

  - index.js:275 ExtractTextPlugin.<anonymous>
    [website]/[extract-text-webpack-plugin]/index.js:275:12

  - Array.forEach

  - index.js:273 ExtractTextPlugin.<anonymous>
    [website]/[extract-text-webpack-plugin]/index.js:273:21

  - async.js:52
    [website]/[async]/lib/async.js:52:16

  - async.js:236 Object.async.forEachOf.async.eachOf
    [website]/[async]/lib/async.js:236:30

  - async.js:209 Object.async.forEach.async.each
    [website]/[async]/lib/async.js:209:22

  - index.js:237 ExtractTextPlugin.<anonymous>
    [website]/[extract-text-webpack-plugin]/index.js:237:10

  - Tapable.js:71 Compilation.applyPluginsAsync
    [website]/[tapable]/lib/Tapable.js:71:13

  - Compilation.js:525 Compilation.seal
    [website]/[webpack]/lib/Compilation.js:525:7

  - Compiler.js:397 Compiler.<anonymous>
    [website]/[webpack]/lib/Compiler.js:397:15

  - Tapable.js:103
    [website]/[tapable]/lib/Tapable.js:103:11

  - Compilation.js:445 Compilation.<anonymous>
    [website]/[webpack]/lib/Compilation.js:445:10

  - Compilation.js:417
    [website]/[webpack]/lib/Compilation.js:417:12

* Fixed broken links to componants

And added a link to the logo in the header

* Tweaking the content

* Adding Google Analytics and Favicons (keystonejs#4740)

* Adding Favicon to Keystone 4 website
* Added Google Analytics Code to V4 website
* Removed safari-pinned-tab.svg, which was a black square.

* Add Netlify redirects for v3 paths to v4 equivalents

* Fixed a typo in Project-Options.md

The `name` option appears twice, instead of the 2nd being `brand`.

* Fixed links to configuration pages

* Link to 4.x release history

* Make titles for Setting Up sections consistent

* Include defaultColumns in code example

* Improve section labels for Get Started

* Clean up text & formatting

* Clean up text & formatting

* Update index.md

minor wording error fix

* Update part-4.md

* Fix keystonejs#4762: Bump kerberos & letsencrypt-express dependencies

* Correct typo in templates/views/addEvent.pug

Fix keystonejs#4805

* Fix typo in part 4 of tutorial (thanks @ebrahimamer)

* add alt test to delete button

* Fix keystonejs#4815: Typo in Getting started part 4 tutorial

* Fix keystonejs#4818: Add redirect for /guide/config

* documentation updates

* DOCS: Fix typo for TextArray Field

* Update Underscore-Methods.md

underscore instead of undercore

* Update options.md

Link is broken without `http://`

* Fixed incorrectly named API method label (fixes keystonejs#4825)

* docs(syntax): update an upper-case (keystonejs#4810)

By copying and pasting the site, I realized that the list was previously referenced with an uppercase.

* incorrect link to database docs (keystonejs#4833)

* fix: fields explorer invalid capitilisations (keystonejs#4834)

* Bug - Fix UTC DateColumn vaue display (keystonejs#4841)

Added toMoment method to allow Moment.js to use utc dates.
Updated getValue to use toMoment for proper output.

* Fixed typo in paginate() docs (keystonejs#4839)

* Refer to the newest release "4.0.0"

Probably forgot to update part of readme from the older release "4.0.0.rc.1"

* Completed opening sentence

The sentence "Once you retrieve a list from Keystone, the mongoose methods can be accessed from." seemed incomplete

* Added option to hide Today button in Date field (keystonejs#4869)

* Fixed dependsOn setting when applied to a boolean field set to false by default (keystonejs#4867)

* UPDATE deleteItem action with custom error message (keystonejs#4683)

* Return a 500 error when `item.remove` fails (keystonejs#4832)

* Return a 500 error when `item.remove` fails

Currently, errors from `item.remove` are not handled at all in the callback. This gives an empty 200 back to the frontend, which will do nothing with this response (no visual feedback on the error).
We should return an actual error. All suggestions on how to return this error Keystone style are welcome.

* directly send the `err` to `apiError`

* Build S3 upload name when not present (keystonejs#4871)

* Restore/repair S3 image uploading in tinymce

* Use custom root for S3 paths

* Build S3 upload name when not present

* Fix markup typo in quick start docs. (keystonejs#4854)

The `auto update` field was highlighted incorrectly.

* Urlfield enahancement (keystonejs#4856)

* add thumb option support to url type

* do not fix the height of form input since it the value can be out of bound
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

9 participants