# README: Overview Documentation Repository
This README explains the user cases, source file organization, and procedures for building the Blockstack documentation. You can find the documentation at https://docs.blockstack.com
## Use Cases
Blockstack is a ecosystem build around a platform. There are several types of users to support with the documentation. Types are exist when they can operate within a vertical of the ecosystem. These are the users that can appear within this ecosystem and that the docs must support.
Users |
Description |
STX holders |
Users who have purchased STX and who use our wallet to move STX holdings. These users want to know about Blockstack as a company and STX as an investment token. They have a Blockstack identity, they use the Blockstack wallet, and may also use the Blockstack explorer. |
DApp users |
Users who make use of applications built on the Blockstack platform. These users have a Blockstack identity and typically use the Blockstack Browser at some point. |
Dapp developers or DApp miners |
Users who develop applications on the Blockstack platform. These users may be application miners but are not always. Special content exists for developers that are also miners. |
Hub Providers |
Users who sell or maintain a Gai services are hub providers. They may also be application miners but need not be. These users may be more devops user types as opposed to developers. |
Core service programmers |
These are users that provide Blockstack CORE servers or who write Clarity contracts. These are also users who build wallets or explorers into the Blockstack platform. |
Finally, a key user set but seldom mentioned for any company docs is the company employees. These users are expected to make use of the documentation when onboarding or to support other users.
## Documentation backend
Our documentation is written in Markdown (`.md`), built using [Jekyll](https://jekyllrb.com/), and deployed to a Netlify server. Serving the content from Netlify allows us to use functionality (plugins/javascript) not supported with standard GitHub pages.
Blockstack versions it source files in a public GitHub repo (duh :smile). You can submit changes by cloning, forking, and submitting a pull request. You can also make use of the **Edit this page on GitHub** link from any https://docs.blockstack.org page.
Some content is single sourced. Modifying single source content requires an understanding of that concept, how it works with Liquid tags, and the organization of this repo's source files.
[UIKit](https://getuikit.com/docs/introduction) provides the documentation theme. There is explicit use of HTML plus UIKit components directly in files where needed for special layouts. And there is use of CSV and JSON source files transformed with [Liquid template language](https://help.shopify.com/en/themes/liquid) to produce reference content.
## How the Source Files are Organized
Directories that contain information used to build content.
Directory |
Purpose |
Technical Repo(s) |
_android |
SDK tutorial. Part of the developer menu. |
https://github.com/blockstack/blockstack-android |
_browser |
Information for end-users about our identity, Storage, and using the browser. There are also three of the original tutorials in there. User docs controlled by in the the user menu. The three tutorials that appear in the developer menu There is an outstanding issue to move these. |
https://github.com/blockstack/blockstack-browser |
_common |
Contains several shell files that redirect to our reference documentation sites such as Javascript, IOS, and so forth. The reference docs are linked from the developer, core, and Gaia menus. |
Each of these references are generated by their respective repos, core.blockstack.org from blockstack-core , Javascript docs from the blockstack.js and so forth. |
_core |
Information for wallet, blockchain, or Clarity developers -- including Atlas, BNS, and so forth. This content STILL needs to be synced with the master docs subdirectory in blockstack-core. |
blockstack-core |
_develop |
Information for application miners covers using the Javascript library, our mobile SDKs, and the concepts hat support them. Navigation controlled by developer menu |
This information was never associated with a single repo. Much of it does rely heavily on https://github.com/blockstack/blockstack.js. |
_faqs |
Contains files for single-sourcing all the FAQs. The Blockstack docs has a single page that lists all the faqs; then several pages in different sections re-use this information. See the FAQs section below for detail about how these files figure into FAQS. |
Not related to repo. |
_includes |
Information reused (markdown or html) in many places, common html used in pages and notes. |
These files don't correspond to a repository. |
_ios |
SDK tutorial. Part of the developer menu. |
https://github.com/blockstack/blockstack-ios |
_org |
Information for Stacks holders and people curious about what Blockstack does. Appear in the the organization menu |
Not associated with any repository. |
_storage |
Information for developers using storage in their apps or creating Gaia servers. Appear in the the storage menu |
https://github.com/blockstack/blockstack-gaia |
These are the other directories in the site structure: