diff --git a/assets/images/help/desktop/delete-tag-multiple.png b/assets/images/help/desktop/delete-tag-multiple.png new file mode 100644 index 0000000000..c696e9e49b Binary files /dev/null and b/assets/images/help/desktop/delete-tag-multiple.png differ diff --git a/assets/images/help/desktop/select-delete-tag.png b/assets/images/help/desktop/select-delete-tag.png new file mode 100644 index 0000000000..39bbf26235 Binary files /dev/null and b/assets/images/help/desktop/select-delete-tag.png differ diff --git a/content/desktop/contributing-and-collaborating-using-github-desktop/managing-tags.md b/content/desktop/contributing-and-collaborating-using-github-desktop/managing-tags.md index c3f7906ab4..43e1126bc4 100644 --- a/content/desktop/contributing-and-collaborating-using-github-desktop/managing-tags.md +++ b/content/desktop/contributing-and-collaborating-using-github-desktop/managing-tags.md @@ -34,3 +34,14 @@ versions: 3. All tags associated with the commit are visible in that commit's metadata. ![Viewing a tag in the commit](/assets/images/help/desktop/viewing-tags-in-commit.png) + +### Deleting tags + +{% note %} + +**Note**: You can only delete tags associated with commits that have not yet been pushed. + +{% endnote %} + +{% data reusables.desktop.history-tab %} +{% data reusables.desktop.delete-tag %} diff --git a/content/github/building-a-strong-community/blocking-a-user-from-your-organization.md b/content/github/building-a-strong-community/blocking-a-user-from-your-organization.md index 664817044f..855f81f777 100644 --- a/content/github/building-a-strong-community/blocking-a-user-from-your-organization.md +++ b/content/github/building-a-strong-community/blocking-a-user-from-your-organization.md @@ -13,14 +13,13 @@ When you block a user, you can choose to block them indefinitely or for a specif {% tip %} -**Tip:** If you're blocking a user because of a heated conversation, consider [locking the conversation](/articles/locking-conversations) so only collaborators can comment. +**Tip:** If you're blocking a user because of a heated conversation, consider locking the conversation so only collaborators can comment. For more information, see "[Locking conversations](/github/building-a-strong-community/locking-conversations)." {% endtip %} At the time that you block a user from your organization: - The user stops watching your organization's repositories - The user's stars and issue assignments are removed from your repositories -- The user's forks of your organization's repositories are deleted - The user's votes on discussions or comments in your organization's repositories are deleted - The user is removed as a collaborator on your organization's repositories - The user's contributions to your organization's repositories are no longer counted as contributions for them diff --git a/content/github/building-a-strong-community/blocking-a-user-from-your-personal-account.md b/content/github/building-a-strong-community/blocking-a-user-from-your-personal-account.md index 5b35b38b92..77ef77338a 100644 --- a/content/github/building-a-strong-community/blocking-a-user-from-your-personal-account.md +++ b/content/github/building-a-strong-community/blocking-a-user-from-your-personal-account.md @@ -9,11 +9,11 @@ versions: ### About blocking users -You can block a user in your account settings or from the user's profile. {% data variables.product.prodname_dotcom %} will not notify the user when you block them. If you want to avoid contributing to the same project as someone you've blocked, you can [choose to display a warning](/articles/blocking-a-user-from-your-personal-account/#blocking-a-user-in-your-account-settings) on any repositories with prior contributions from a blocked user. You may still see the activity of blocked users in shared spaces and blocked users can delete their existing content. +You can block a user in your account settings or from the user's profile. {% data variables.product.prodname_dotcom %} will not notify the user when you block them. If you want to avoid contributing to the same project as someone you've blocked, you can choose to display a warning on any repositories with prior contributions from a blocked user. For more information, see "[Blocking a user in your account settings](#blocking-a-user-in-your-account-settings)." You may still see the activity of blocked users in shared spaces and blocked users can delete their existing content. {% tip %} -**Tip:** If you're blocking a user because of a heated conversation, consider [locking the conversation](/articles/locking-conversations) so only collaborators can comment. +**Tip:** If you're blocking a user because of a heated conversation, consider locking the conversation so only collaborators can comment. For more information, see "[Locking conversations](/github/building-a-strong-community/locking-conversations)." {% endtip %} @@ -22,8 +22,6 @@ When you block a user: - The user stops watching and unpins your repositories - The user is not able to join any organizations you are an owner of - The user's stars and issue assignments are removed from your repositories -- The user's forks of your repositories are deleted -- You delete any forks of the user's repositories - The user's votes on discussions or comments in your repositories are deleted - The user is removed as a collaborator on your repositories - The user's contributions to your repositories are no longer counted as contributions for them diff --git a/content/github/setting-up-and-managing-your-github-profile/managing-your-profile-readme.md b/content/github/setting-up-and-managing-your-github-profile/managing-your-profile-readme.md index 77af5575d8..9829c4a9ac 100644 --- a/content/github/setting-up-and-managing-your-github-profile/managing-your-profile-readme.md +++ b/content/github/setting-up-and-managing-your-github-profile/managing-your-profile-readme.md @@ -54,6 +54,8 @@ GitHub will display your profile README on your profile page if all of the follo The generated README file is pre-populated with a template to give you some inspiration for your profile README. ![README file with pre-populated template](/assets/images/help/repository/personal-repository-readme-template.png) +For a summary of all the available emojis and their codes, see "[Emoji cheat sheet](http://www.emoji-cheat-sheet.com/)." + ### Removing a profile README The profile README is removed from your {% data variables.product.prodname_dotcom %} profile if any of the following apply: diff --git a/content/github/site-policy/github-subprocessors-and-cookies.md b/content/github/site-policy/github-subprocessors-and-cookies.md index 11db20ca84..fb4b630555 100644 --- a/content/github/site-policy/github-subprocessors-and-cookies.md +++ b/content/github/site-policy/github-subprocessors-and-cookies.md @@ -46,7 +46,7 @@ When we bring on a new subprocessor who handles our Users' Personal Information, GitHub uses cookies to provide and secure our websites, as well as to analyze the usage of our websites, in order to offer you a great user experience. Please take a look at our [Privacy Statement](/github/site-policy/github-privacy-statement#our-use-of-cookies-and-tracking) if you’d like more information about cookies, and on how and why we use them. -Since the number and names of cookies may change,the table below may be updated from time to time. +Since the number and names of cookies may change, the table below may be updated from time to time. | Service Provider | Cookie Name | Description | Expiration* | |:---|:---|:---|:---| diff --git a/data/reusables/desktop/delete-tag.md b/data/reusables/desktop/delete-tag.md new file mode 100644 index 0000000000..1bdc2b2653 --- /dev/null +++ b/data/reusables/desktop/delete-tag.md @@ -0,0 +1,6 @@ +1. Right-click the commit. + + - If a commit has only one tag, click **Delete Tag TAG NAME**. + ![Select the delete tag menu item](/assets/images/help/desktop/select-delete-tag.png) + - If a commit has multiple tags, hover over **Delete Tag...** and then click the tag that you want to delete. + ![Hover over the delete tag menu](/assets/images/help/desktop/delete-tag-multiple.png) \ No newline at end of file diff --git a/lib/liquid-tags/link.js b/lib/liquid-tags/link.js index a74bc0fabb..51a7a0e088 100644 --- a/lib/liquid-tags/link.js +++ b/lib/liquid-tags/link.js @@ -4,7 +4,7 @@ const Liquid = require('liquid') const liquid = new Liquid.Engine() const LiquidTag = require('./liquid-tag') const findPage = require('../find-page') -const { getPathWithoutLanguage } = require('../path-utils') +const { getPathWithoutLanguage, getPathWithoutVersion } = require('../path-utils') const getApplicableVersions = require('../get-applicable-versions') const removeFPTFromPath = require('../remove-fpt-from-path') @@ -74,7 +74,7 @@ module.exports = class Link extends LiquidTag { } // add language code and version - fullPath = removeFPTFromPath(path.posix.join('/', ctx.currentLanguage, ctx.currentVersion, getPathWithoutLanguage(fullPath))) + fullPath = removeFPTFromPath(path.posix.join('/', ctx.currentLanguage, ctx.currentVersion, getPathWithoutLanguage(getPathWithoutVersion(fullPath)))) // find the page based on the full path const page = findPage(fullPath, ctx.pages, ctx.redirects) diff --git a/lib/path-utils.js b/lib/path-utils.js index 989a24c308..83a966985f 100644 --- a/lib/path-utils.js +++ b/lib/path-utils.js @@ -22,7 +22,12 @@ function getPathWithoutLanguage (href) { // Remove the version segment from the path function getPathWithoutVersion (href) { - return href.replace(`/${getVersionStringFromPath(href)}`, '') + const versionFromPath = getVersionStringFromPath(href) + + // If the derived version is not found in the list of all versions, just return the HREF + return allVersions[versionFromPath] + ? href.replace(`/${getVersionStringFromPath(href)}`, '') + : href } // Return the version segment in a path diff --git a/tests/browser/browser.js b/tests/browser/browser.js index 9f98e1f10a..cde07dfaed 100644 --- a/tests/browser/browser.js +++ b/tests/browser/browser.js @@ -1,6 +1,7 @@ /* global page, browser */ const sleep = require('await-sleep') const querystring = require('querystring') +const { latest } = require('../../lib/enterprise-server-releases') describe('homepage', () => { jest.setTimeout(60 * 1000) @@ -235,6 +236,17 @@ describe('card filters', () => { expect(shownCards.length).toBeGreaterThan(0) }) + it('works with select input on an Enterprise version', async () => { + await page.goto(`http://localhost:4001/en/enterprise-server@${latest}/actions/guides`) + await page.select('.js-filter-card-filter-dropdown[name="type"]', 'overview') + const shownCards = await page.$$('.js-filter-card:not(.d-none)') + const shownCardsAttrib = await page.$$eval('.js-filter-card:not(.d-none)', cards => + cards.map(card => card.dataset.type) + ) + shownCardsAttrib.map(attrib => expect(attrib).toBe('overview')) + expect(shownCards.length).toBeGreaterThan(0) + }) + it('shows more cards', async () => { await page.goto('http://localhost:4001/en/actions') const maxCards = await page.$eval('.js-filter-card-show-more', btn => parseInt(btn.dataset.jsFilterCardMax))