CHANGELOG¶
version .6 - 7/7/16¶
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_HEARTING and REDIS_HEARTS_DB_URL environment variables
- 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_SECRET environment variable
- 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
version .5 - 5/9/16¶
New Features¶
- Logging of Github API rate limit
- See bin/rate_limit_watcher.py which can be used with Heroku Scheduler add-on or cron in any UNIX environment
- Added newrelic to requirements for performance monitoring
- This is optional, but still in the requirements.txt file.
- 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.
- 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_FOR environment variable
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 https://github.com/pluralsight/guides-cms/commit/a83155605492dd7da65af662de1e3d937f56be68
version .4 - 4/5/16¶
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/<name>/ URL for authors instead of user, 301 redirect from /user/<name>
version .3 - 3/11/16¶
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
version .2 - 3/11/16¶
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 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
version .1 - 2/23/16¶
Initial open source release during http://hacksummit.org.