Releases: pluralsight/guides-cms
New UI design, hearts, and bug fixes
New Features
- Revamped design to be more colorful with stack images for every guide, etc.
- Added ability to heart guides
- Requires use of redis and use of
ENABLE_HEARTINGandREDIS_HEARTS_DB_URLenvironment variables
- Requires use of redis and use of
- Support for Github Bio on profile and article pages
- Improved support for Facebook Open Graph tags on homepage and article
- Improved layout of review page and home page when there is no featured guide
- New stack images
- Thanks @eh3rrera!
- Use Github webhooks to keep list of branches and cache up to date
- Requires use of
WEBHOOK_SECRETenvironment variable
- Requires use of
- New page highlighting tutorial contest
- Properly escape all code on article pages, not just HTML
Bug Fixes
- Fix exception when running with empty REDISCLOUD_URL env variable
- Fix html escaping issues on article page
- Shorten long author names to prevent from breaking out of design boxes
- KeyError exception on some invalid page URLs
- Ignore invalid statuses when reading article
- Error when handling failed github authentication request
- Bug with removing a branch when it being added again
- Problem unpredictable featured guide when two guides have the same title
Changes
- Add CTA to article list when filtering returns no results
- Guides are now grouped by publish status on profile page
- All markdown is rendered on front-end with Javascript instead of using Github API
- Changed copy on login page to be more informative
- New logo highlighting our sponsor, Pluralsight
- Store featured guide with redis
- Remove case-insensitive comparison for featured guide environment variable
Improved full screen editor and bug fixes
New Features
- Logging of Github API rate limit
- See
bin/rate_limit_watcher.pywhich can be used with Heroku Scheduler
add-on orcronin any UNIX environment
- See
- Added
newrelicto requirements for performance monitoring- This is optional, but still in the
requirements.txtfile.
- This is optional, but still in the
- Added full-screen editor as default and removed non-full screen
- This resulted in a lot of improvments including simpler CSS, better
integrated help, tooltips, modal error dialogs, and a full-screen view
with all possible controls readily available.
- This resulted in a lot of improvments including simpler CSS, better
- Big speed improvements to editor
- Added links to hack.pledge and hack.summit in header
- Show list of contributors on guide page
Bug Fixes
- Edit guide link is broken after changing publish status
- Editor removes escape characters even if in a codeblock
- Prevent extra commit to metadata file on first edit
- Image uploader doesn't set committer name correctly on commits
- Fixed URLs involving a branch name with special characters
- Fixed problems with guide titles having special URL characters
- Remove unecessary Github API request when fetching contributor lists
- Fetching contributors lists twice for guides with no contributors
- Prevent mobile share buttons and email signup box overlapping
- Incorrectly including any user with a branch as a contributor
- Faster loading of rendered markdown from Github API
- Fixed escape <script> tag in article content
- Properly serialize file listing to cache with unicode
- Properly show featured guide on my-drafts page
- Add contributor page with leaderboards
- Introduces
IGNORE_STATS_FORenvironment variable
- Introduces
Other Changes
- Disable save button on editor until a title has been chosen
- Improved 'Live Markdown Tutorial' UI to include a more prominent 'Close Tutorial' button
- Renamed 'Cancel' button on editor to 'Back'
- Branches are named after user and guide, not just user
- Makes merging changes much easier since each branch only deals with a single guide
- Improved load time of FAQ page
- Redirect to master branch if branched guide is missing
- Do not show users in IGNORE_STATS_FOR environment variable in contributor lists
- Use username/login in profile page title
- Allow redirect URLs file to contain markdown lists
Improved editing experience and bug fixes
New Features
- Live markdown tutorial in new editor
- Auto save guide text using HTML5 local storage
- Side-by-side markdown preview
- Optional scroll-sync between text and markdown preview panes
- Ability to add images to guides via standard file dialog
- Support for 301 redirects for guides (see redirects_file)
- Easier signup to Slack community via popup box on FAQ page
Bug Fixes
- Links in editor preview open in new tabs
- Use proper HTTP status codes for redirects requiring authentication
- Properly escape characters in Table of Contents (see issue)
- Incorrect links to branched guides on main guide page
- Overlapping of table of contents with footer
- Do not show users' drafts on profile page unless logged in as user
- Prevent errors on redundant publish status changes
- Prevent making API calls for URLs that do not look like guides on guide page
- Issue losing list of branches when saving original article after branched
- Issue with /user/ returning articles of repo owner instead of error
- Making a commit with wrong user name by incorrectly reading user cache (see commit)
- Maintain social share counts for po.st with new URL structure introduced in v.3
Changes
- Changed editor from Bootstrap Markdown editor to Ace
- Show published guides instead of error page when unable to find requested guide
- Improved caching of file listings for homepage and review pages
- Add better explanation of publish workflow after submitting a new guide
- Improve error message when creating duplicate guide with title/stack
- Removed redundant 'Edit guide' link in header on guide page
- Removed form to set featured article
- Use /author// URL for authors instead of user, 301 redirect from /user/
Bug fixes related to repository redesign
Bug Fixes
- Fix bug with not checking for article existence on editor page
- Fix link for featured article after redesign
- Fix bug with file listing getting updated with publish status before it changed
Repository layout upgrade and stacks in URLs
Changes
1. Three stage publish workflow
Draft
The initial stage where all guides start out in. Guides in this stage are not
visible by anyone other than the original author. [1]
All guides marked as unpublished will be moved to draft stage during the
upgrade process. Therefore, initially there will be no guides in the
in-review stage.
In-review
The second stage were guides go that are ready for community editing help. Any
user can mark their guide as 'in-review' from dropdown at the bottom of the
guide page.
Guides should only be marked as 'in-review' when they are complete and ready
editing help.
Please don't mark partially completed guides as in-review. This will
necessarily waste community editors time reviewing guides that are not
completed.
Guides marked as 'in-review' will show up on the 'Review' page.
Published
The final stage for fully edited articles is published. This is the stage
where the community editors have decided a guide is ready for the world to see.
Only community editors can move a guide into the published stage.
Published articles will be available on the homepage of the site.
2. Redesign of the content repository
The content repository is currently a flat structure. This means all the
guides are directly at the top level of the repository, which makes it
difficult to easily navigate on the github.com repository view. This pull
request reorganizes the repository to use a more intuitive and nested layout
based on the publish status of the guide as well as the stack. For example,
each publish stage will have a folder with a nested folder for each stack:
This will make quickly browsing the content much easier on github.com.
3. URL redesign (with backwards compatability)
The URL scheme has been redesigned to include the stack. This gives visitors
more insight into the type of guide by looking only at the URL.
Therefore, the guide URL will now be something like:
/python/my-awesome-guide
instead of
/my-awesome-guide
All the old URLs with only the title remain intact with a 301 redirect at the
/review/ endpoint.
Also, the status of a guide is represented by a query string, not directly in
the URL as before. So, the following URL will point to a guide in the
in-review stage:
/python/my-awesome-guide?status=in-review
instead of
/review/my-awesome-guide
This will allow articles to keep the same URL through the entire publish
workflow, improving their SEO and link maintainability. In addition, visitors
can clearly see in the URL the publish status of a guide. Soon there will be a
more visual way to see the status on the guide page itself, but not in this
change.
Note that changing the stack of your article will change the URL of your
guide. Therefore, change this with caution to avoid losing any SEO you might
have gathered on the old URL. Typically you should not be changing your stack
after you're in the 'in-review' stage.
4. Github commits only involve guide author
Previously all commits to guides were pushed to github with a different author
and committer. The committer was marked as the owner of the content
repository. This lead to a commit having a different author and committer,
which is confusing on github.com. Now all commits will have the same committer
and author to avoid this confusion. You as the author still get full
contribution credit, which will show up on your github.com profile. This
change just gives you commit credit by youreself.
5. Ability to change stack guide
This is not a recommended action because it will change a guides URL, which is
not ideal for SEO and link preservation. However, it is now allowed.
Upgrading
See the upgrade_repo_layout_fromv.1.py script for details on the content
repository conversion process. The upgrade script will use git mv to move
all guide diretories to their new locations thereby retaining the commit
history.
All guides marked as unpublished will be moved to draft stage during the
upgrade process. Therefore, initially there will be no guides in the
in-review stage.
- Run upgrade script on your content repository
- Run merge_branches.py and use the branch you used from step 1 to merge with.
- Push all remote branches to origin
- Push your master branch to origin
- Deploy new version of the CMS
- Run
disqus redirect crawler <https://help.disqus.com/customer/en/portal/articles/912834-redirect-crawler>_ to update URLs for all comments.
[1] We don't have strict privacy since the guides are also available on
github.com. So, technically a draft guide can still be viewed directly on
github, but there will be no way for users to see draft guides directly on the
content website.
Bug Fixes
- Improve commit messages when removing guides
Initial release
v.1 hack.summit() launch version