Git Product home page Git Product logo

docs's Introduction

Ghost Docs

This is the repository for Ghost's official documentation, located at https://docs.ghost.org. You'll probably just want to head over there and read them directly on the web.

πŸ‘» Using Ghost

If you're looking for some quick links to get you started, try these:

πŸš‘ Getting Support

If you're stuck on something and need a helping hand, you'll find a large community of thousands of Ghost users over on the official Ghost forum. Search to see if someone has gotten stuck on the same thing before! If not, feel free to start a new topic πŸ€—

πŸ›  Contributing

If you're interested in contributing to our docs either with content or code, we can always use the help! All of this is open source so that anyone can get involved if they have fixes or improvements to add.

Read the contributing guide πŸ‘‰

Code of Conduct

Ghost is dedicated to building constructive, diverse and safe community. We expect everyone participating the Ghost community to read and follow our code of conduct. We have absolutely zero tolerance for poisonous behaviour of any kind.

Copyright & License

Copyright (c) 2018-2019 Ghost Foundation - Released under the MIT license.

docs's People

Contributors

aileen avatar daniellockyer avatar daviddarnes avatar davidkaufman avatar erisds avatar georgemandis avatar jasonetco avatar johnonolan avatar justanton avatar kevinansfield avatar kirrg001 avatar kymellis avatar messageavinash avatar naz avatar neatoro avatar palewar avatar peterzimon avatar pysysops avatar slightlynerd avatar smuriu avatar tgalopin avatar thmsrmbld avatar walkerfrederick avatar zhelincheng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

docs's Issues

'@blog' helper still listed in the handlebars docs leading to a 404.

Issue Summary

I'm getting an 404 error at " https://docs.ghost.org/api/handlebars-themes/helpers/blog/ "

seems like the '@blog' helper is only found through the sidebar and not through the date helpers page...https://docs.ghost.org/api/handlebars-themes/helpers/data/

I guess it needs to be switched out for the '@site'

To Reproduce

Go to: https://docs.ghost.org/api/handlebars-themes/helpers/data/

you'll see that '@blog' isn't listed on this page but only listed in the sidebar.

Documentation on static sites

Now that we have rebuild webhooks, it'd be interesting to add a Tutorial explaining how to build a static site that auto updates on Ghost content updates. I'd love to help on this if you can point me in the right direction :)

Custom ordering alias for ordering featured posts first

At the moment, there's no way to order posts within channels or collections or get-helper lists, so that featured posts are first. This is a super common request. Instead, it requires use of the get helper, which breaks pagination, and in many use-cases still doesn't do quite the right thing.

Ideally, we want to make this possible at the API level, by changing the order query parameter.

This is already possible with the order parameter, it's just undocumented.

Url encoded form: https://demo.ghost.io/ghost/api/v2/content/posts/?key=22444f78447824223cefc48062&fields=title,featured,published_at&order=featured%20desc,published_at%20desc

Routes/get helper, etc form: order: β€œfeatured desc, published_at desc”

Expand e2e test and setup for continuous integration

The current e2e test is covering almost all important parts already, but can be improved to include the testing of the TOC scroll behaviour.

Furthermore, we should implement continuous integration for the e2e test.

Todos:

  • implement TOC scroll behaviour test
  • implement continuous integration

Google Sheets embeds are too small (integrations)

I am working on the Integrations page for Google Sheets + Ghost, explaining how to embed a spreadsheet into a Ghost post. This is great for people who want to embed dynamic data or swipe files that their readers can export from their site.

When I published the page, the embed appears very small on the page:
google sheets embeds on docs

This is not a usable working example of this embed and should fit to the width of the content. Can we fix this?

The embed code used is:

<iframe src="https://docs.google.com/spreadsheets/d/e/2PACX-1vQKQwfka4cgU7mnS2uAiCMKs0wkmHJQdH5sc4mp231iVKjwueBVaX3Qy8no7gTihQXr6kwJ52TLyfLt/pubhtml?widget=true&amp;headers=false"></iframe>

Note: I've unpublished the Integrations page for now, but the content is in draft in Ghost Admin.

Invalid link in docs

Issue Summary

In Docs

https://api.ghost.org/docs/overview

there is sentence

For more information on how this works please see the Client Authentication section, or the ghost.url.api() docs in themes.

with links to

https://api.ghost.org/v0.1/docs/client-authentication

and

http://themes.ghost.org/v1.0.0/docs/ghost-url-api

First one is redirected to

https://api.ghost.org/docs/client-authentication

The second giver error page

404
You just hit a route that doesn't exist... the sadness.

Docs Home
Ghost.org

Please add in this issue info how to create pull requests to docs because of docs do not mention about it.

Webhooks page does not list all available webhooks

https://docs.ghost.org/api/webhooks/ only lists 3 events rather than the full list of events that were added in Ghost 2.16.0.

I wonder if we should document the webhook payload format too?

Full list of events:

Global
'site.changed' - Site changed (rebuild)

Posts
'post.added' - Post created
'post.deleted' - Post deleted
'post.edited' - Post updated
'post.published' - Post published
'post.published.edited' - Published post updated
'post.unpublished' - Post unpublished
'post.tag.attached' - Tag added to post
'post.tag.detached' - Tag removed from post

Pages
'page.added' - Page created
'page.deleted' - Page deleted
'page.edited' - Page updated
'page.published' - Page published
'page.published.edited' - Published page updated
'page.unpublished' - Page unpublished
'page.tag.attached' - Tag added to page
'page.tag.detached' - Tag removed from page

Tags
'tag.added' - Tag created
'tag.edited' - Tag updated
'tag.deleted' - Tag deleted

Subscribers
'subscriber.added' - Subscriber added
'subscriber.deleted' - Subscriber deleted

Apply vertical rhythm to responsive images

Issue Summary

After Gatsby responsive images have been added to Ghost Docs the vertical rhythm is not applied to images anymore. The reason is that until now images have been wrapped in a <figure> tag, but since resp. images they are wrapped in a <p> tag.

Disqus integrations missing ; this.page.identifier = "ghost-{{comment_id}}"

This repository is only concerned with Ghost Documentation. If you're having trouble with Ghost itself, please use: https://forum.ghost.org πŸ‘«

Issue Summary

In the code that you copy and paste from https://docs.ghost.org/integrations/disqus/ it appears that line 5 is missing a ; . I could not find this page anywhere otherwise I would have submitted a pull request.

To Reproduce

Explain how someone else can reproduce the issue and see it for themselves

  1. Go to https://docs.ghost.org/integrations/disqus/

Any other info e.g. Why do you consider this to be a bug? What did you expect to happen instead?

When using the code as is disqus will not load. After looking at the code from https://utekblog.disqus.com/admin/install/platforms/universalcode I noticed the semi colon. Once I added that things worked as expected.

Need help: Error: GHOST_API_URL and GHOST_API_KEY are required to build

Hi,

Need help in resolving this error.

Followed all these steps

  1. git clone this repo & cd into it as usual
  2. npm install --global gatsby-cli to install Gatsby
  3. yarn to install top-level dependencies.
  4. Copy .env.example to .env.development

gatsby develop : No Issues
gatsby build: Getting error

error We encountered an error while trying to load your site's gatsby-config. Please fix the error and try again.


  Error: GHOST_API_URL and GHOST_API_KEY are required to build. Check the CONTRIBUTING guide.

Not sure what i am missing here!
Looking for help to resolve this issue.

Other details:
➜ node -v
v11.6.0
➜ npm -v
6.5.0
➜ gatsby -v
2.4.8

Thanks in advance.

Clicking search results doesn't always take you to the page

I've spotted this issue a few times when using search. Sometimes I click on a search result, and it populates the search box rather than taking me to the page. I thought it was random, but I think I have a reproduction case.

To Reproduce

  1. Navigate to a section of the Ghost CLI Knowledgebase, for example "Folder stucture"
  2. Search for something that also exists on this page, for example "second domain"
  3. Click on the "Knowledgebase" entry
  4. See that the search box is updated, but not closed

Now that I understand the reproduction case, I can see that the anchor in the URL is updated. Therefore I think the bug is actually that the modal doesn't close if only the anchor changes.

Refactor gatsby files to be more readable

In current structure our Gatsby files are structured by API method inside of the /gatsby folder.
The original gatsby-node and gatsby-browser files only function as index files for the API methods.

This is not very readable and should be improved, so it's possible to on a glance which fn are within those methods.

Add unit tests

It would be optimal, if we'd had some unit tests for some components.

I Looked into Jest unit testing for a bit, but that needs some more research, as those tests are not shallow by default and need a lot of mocking.

Docs style guides

Issue Summary

Ghost Docs is growing. In order to be able to have a consistent (mostly typographic) style throughout the site, it's necessary to have a short style guide.

Ghost redirect doc suggestions

Based on 1) experience of cloudflares page rules guide and 2) John asking whether multi-wildcard was supported in Ghost and 3) planning an update to our redirects feature and not finding all the features documented, I would like to propose some changes to the redirects guide.

I'm starting by proposing problems 😬

Issues I think exist:

  1. "regex" could be considered a bit vague (there are different flavours)
  2. there's no clarity around double escaping (I still am not sure myself what the rules are)
  3. We don't make it clear that "multi wildcard" is supported E.g. you can use $1, $2
  4. Case insensitive matching with the i flag is not mentioned
  5. It's not clear that temporary redirects are the default
  6. Text around the required JSON format could be more explicit
  7. Minor Typo: the from field text has an additional word "you"

Possible solutions?

I think there are a couple of small changes that could be made to the text to resolve these things. E.g. using more explicit technical language in a summary somewhere like:

"The from and to fields work exactly the same as javascript's replace function, with full support for regex patterns, the i case insensitivity flag, and multiple matches using $1, $2. "

and also including the phrase "The file must be valid JSON", with the words "valid JSON" being a link to https://jsonlint.com/ (This linter gives clarity on why a file is not uploading). I think some of the text about how JSON works could also be removed or grouped together.

I would also like to propose that we include one advanced example. I'm happy to be shot down for this, but I think a lot of us like to see a super complex example to see what we can achieve (thinking about the trouble with the page rules guide)

My proposed advanced example is similar to our docs redirect, but we could probably find a better one:

{
   "from": "^/(v.*?)/docs/([a-z0-9_\-]+)(\\/)?$/i",
    "to": "/$1/$2/"
}

It includes: advanced pattern matching in JS, the need for double-escaping when using regex, 2 wildcards and the i flag all in one fell swoop, but note that I'm not really sure where and when I need to use a double backslash escape here.

It maybe that all this is waaaay to technical for the 90%. My main suggestion is really to either use more explicit language to be clearer what does and doesn't work e.g. say "valid JSON" and "javascript regex" and let people use the rest of the internet to determine what those phrases mean.

Happy to have a stab at a PR for this if folks agree.

How to get client id and client secret

I want to integrate with depreciated API v0.1 and make CREATE / UPDATE / DELETE operations.

Documentation about authentication is there

https://api.ghost.org/docs/user-authentication

It is enumerated some values that I should know before creating Bearer Token.

  • user email
  • user password
  • client id
  • client secret

I know my user email and password, but in admin panel (ghost v2) I can't find a place where client data are displayed.

I found table clients in the database, but It should be documented, how to find client_id and client_secret because of mapping between these names and database columns names are not obvious.

After logging to the database and typing desc clients i can see:

+-----------------+---------------+------+-----+-------------+-------+
| Field           | Type          | Null | Key | Default     | Extra |
+-----------------+---------------+------+-----+-------------+-------+
| id              | varchar(24)   | NO   | PRI | NULL        |       |
| uuid            | varchar(36)   | NO   |     | NULL        |       |
| name            | varchar(50)   | NO   | UNI | NULL        |       |
| slug            | varchar(50)   | NO   | UNI | NULL        |       |
| secret          | varchar(191)  | NO   |     | NULL        |       |
| redirection_uri | varchar(2000) | YES  |     | NULL        |       |
| client_uri      | varchar(2000) | YES  |     | NULL        |       |
| auth_uri        | varchar(2000) | YES  |     | NULL        |       |
| logo            | varchar(2000) | YES  |     | NULL        |       |
| status          | varchar(50)   | NO   |     | development |       |
| type            | varchar(50)   | NO   |     | ua          |       |
| description     | varchar(2000) | YES  |     | NULL        |       |
| created_at      | datetime      | NO   |     | NULL        |       |
| created_by      | varchar(24)   | NO   |     | NULL        |       |
| updated_at      | datetime      | YES  |     | NULL        |       |
| updated_by      | varchar(24)   | YES  |     | NULL        |       |
+-----------------+---------------+------+-----+-------------+-------+

But with client_id with value id and uuid and cleint_secret with value secret I can't get token and see the response:

401

{"errors":[{"message":"Access denied.","context":"Client credentials were not valid","errorType":"UnauthorizedError"}]}

My question is? It is possible to add a view of client_id and client_secreat in admin? Or type docs about a manner of obtaining these values.

Add script to wrap <table> elements in <div>

To enable horizontal scrolling for tables that are rendered from a Ghost post source, we need to add a <div> wrapper for those <table> elements, due to a flexbox bug.

The probably easiest way to do so, is to use the gatsby-browser API.

Automate sidebar navigation from `.yaml` files as plugin

Problem description

The currently implemented solution to generate the sidebar navigation from yaml files reads all yaml files from within a /src//data/sidebars directory, which is weird because those files are part of the content and not the code and currently stored away from the content files.

Those sidebar files should actually live right where they belong: in the related content folder.

Proposal

Refactor the sidebars components to be more automatic and generic and read them from the content directories.

Create this new implementation as plugin, so it can be reused.

Todos

  • move all sidebar files out of /src into their associated content dir
  • create a plugin that finds those files and can be simply used as Sidebar component

404 page is broken

Issue Summary

After landing on the 404 page it's not possible to use any of the links to get away from the 404 page.

To Reproduce

  1. Open a non-existant URL, I hit when I noticed the problem https://docs.ghost.org/integrations/comments?no-cache=1
  2. Try clicking on any docs link and nothing will happen
  3. Note there are errors in the dev tools console

screenshot 2018-11-16 at 12 24 03

Admin Api Docs have several problems

Problem 1:
Docs are not clear at all about what permissions the token integrations have vs the User Authentication method.

Problem 2:
The URL in the creating a session is wrong. It says POST /sessions/ but it's actually /admin/session/ (especially note the ending s)

Problem 3:
The /session/ endpoint requires an Origin or Referrer but doesn't mention it in the docs, otherwise you get the error: 'Could not determine origin of request. Please ensure an Origin or Referrer header is present.'

Problem 4:
The body of the creating a post is wrong. It uses the key post when it's actually posts

It's very frustrating when you have to constantly second guess the docs!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.