-
-
Notifications
You must be signed in to change notification settings - Fork 11.9k
Rename project to GhostX and update README #30175
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
evilhere7
wants to merge
2
commits into
TryGhost:main
Choose a base branch
from
evilhere7:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+281
−79
Open
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,107 +1,309 @@ | ||
| | ||
| <p align="center"> | ||
| <a href="https://ghost.org/#gh-light-mode-only" target="_blank"> | ||
| <img src="https://user-images.githubusercontent.com/65487235/157884383-1b75feb1-45d8-4430-b636-3f7e06577347.png" alt="Ghost" width="200px"> | ||
| </a> | ||
| <a href="https://ghost.org/#gh-dark-mode-only" target="_blank"> | ||
| <img src="https://user-images.githubusercontent.com/65487235/157849205-aa24152c-4610-4d7d-b752-3a8c4f9319e6.png" alt="Ghost" width="200px"> | ||
| </a> | ||
| </p> | ||
| | ||
|
|
||
| <p align="center"> | ||
| <a href="https://ghost.org/">Ghost.org</a> • | ||
| <a href="https://forum.ghost.org">Forum</a> • | ||
| <a href="https://docs.ghost.org">Docs</a> • | ||
| <a href="https://github.com/TryGhost/Ghost/blob/main/docs/README.md">Contributing</a> • | ||
| <a href="https://twitter.com/ghost">Twitter</a> | ||
| <br /><br /> | ||
| <a href="https://ghost.org/"> | ||
| <img src="https://img.shields.io/badge/downloads-100M+-brightgreen.svg" alt="Downloads" /> | ||
| </a> | ||
| <a href="https://github.com/TryGhost/Ghost/releases/"> | ||
| <img src="https://img.shields.io/github/release/TryGhost/Ghost.svg" alt="Latest release" /> | ||
| </a> | ||
| <a href="https://github.com/TryGhost/Ghost/actions"> | ||
| <img src="https://github.com/TryGhost/Ghost/actions/workflows/ci.yml/badge.svg?branch=main" alt="Build status" /> | ||
| </a> | ||
| <a href="https://github.com/TryGhost/Ghost/contributors/"> | ||
| <img src="https://img.shields.io/github/contributors/TryGhost/Ghost.svg" alt="Contributors" /> | ||
| </a> | ||
| <a href="https://digitalpublicgoods.net/r/ghost"><img src="https://img.shields.io/badge/Verified-DPG-3333AB?logo=data:image/svg%2bxml;base64,PHN2ZyB3aWR0aD0iMzEiIGhlaWdodD0iMzMiIHZpZXdCb3g9IjAgMCAzMSAzMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE0LjIwMDggMjEuMzY3OEwxMC4xNzM2IDE4LjAxMjRMMTEuNTIxOSAxNi40MDAzTDEzLjk5MjggMTguNDU5TDE5LjYyNjkgMTIuMjExMUwyMS4xOTA5IDEzLjYxNkwxNC4yMDA4IDIxLjM2NzhaTTI0LjYyNDEgOS4zNTEyN0wyNC44MDcxIDMuMDcyOTdMMTguODgxIDUuMTg2NjJMMTUuMzMxNCAtMi4zMzA4MmUtMDVMMTEuNzgyMSA1LjE4NjYyTDUuODU2MDEgMy4wNzI5N0w2LjAzOTA2IDkuMzUxMjdMMCAxMS4xMTc3TDMuODQ1MjEgMTYuMDg5NUwwIDIxLjA2MTJMNi4wMzkwNiAyMi44Mjc3TDUuODU2MDEgMjkuMTA2TDExLjc4MjEgMjYuOTkyM0wxNS4zMzE0IDMyLjE3OUwxOC44ODEgMjYuOTkyM0wyNC44MDcxIDI5LjEwNkwyNC42MjQxIDIyLjgyNzdMMzAuNjYzMSAyMS4wNjEyTDI2LjgxNzYgMTYuMDg5NUwzMC42NjMxIDExLjExNzdMMjQuNjI0MSA5LjM1MTI3WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==" alt="DPG Badge"/></a> | ||
| </p> | ||
|
|
||
| | ||
|
|
||
| > [!NOTE] | ||
| > Love open source? We're hiring! Ghost is looking staff engineers to [join the team](https://careers.ghost.org) and work with us full-time | ||
|
|
||
| <a href="https://ghost.org/"><img src="https://user-images.githubusercontent.com/353959/169805900-66be5b89-0859-4816-8da9-528ed7534704.png" alt="Fiercely independent, professional publishing. Ghost is the most popular open source, headless Node.js CMS which already works with all the tools you know and love." /></a> | ||
|
|
||
| | ||
|
|
||
| <a href="https://ghost.org/pricing/#gh-light-mode-only" target="_blank"><img src="https://user-images.githubusercontent.com/65487235/157849437-9b8fcc48-1920-4b26-a1e8-5806db0e6bb9.png" alt="Ghost(Pro)" width="165px" /></a> | ||
| <a href="https://ghost.org/pricing/#gh-dark-mode-only" target="_blank"><img src="https://user-images.githubusercontent.com/65487235/157849438-79889b04-b7b6-4ba7-8de6-4c1e4b4e16a5.png" alt="Ghost(Pro)" width="165px" /></a> | ||
|
|
||
| The easiest way to get a production instance deployed is with our official **[Ghost(Pro)](https://ghost.org/pricing/)** managed service. It takes about 2 minutes to launch a new site with worldwide CDN, backups, security and maintenance all done for you. | ||
|
|
||
| For most people this ends up being the best value option because of [how much time it saves](https://ghost.org/docs/hosting/) — and 100% of revenue goes to the Ghost Foundation; funding the maintenance and further development of the project itself. So you’ll be supporting open source software *and* getting a great service! | ||
|
|
||
| | ||
|
|
||
| # Quickstart install | ||
|
|
||
| If you want to run your own instance of Ghost, in most cases the best way is to use our **CLI tool** | ||
| # GhostX | ||
|
|
||
| > A modern, customizable publishing platform built on top of Ghost, designed for creators, communities, memberships, newsletters, and digital content. | ||
|
|
||
| [](https://github.com/TryGhost/Ghost) | ||
| [](LICENSE) | ||
| [](#project-status) | ||
|
|
||
| ## 📖 About | ||
|
|
||
| **GhostX** is a customized and extended version of the open-source [Ghost](https://github.com/TryGhost/Ghost) publishing platform. | ||
|
|
||
| The project aims to build a flexible and modern publishing ecosystem while preserving Ghost's powerful publishing capabilities and introducing additional features for creators, communities, publishers, and digital content platforms. | ||
|
|
||
| GhostX is currently under active development. | ||
|
|
||
| ## ✨ Features | ||
|
|
||
| * 📝 Powerful content publishing | ||
| * 👤 User and member accounts | ||
| * 📧 Newsletter support | ||
| * 💳 Memberships and subscriptions | ||
| * 🔒 Members-only content | ||
| * 🎨 Customizable themes and interfaces | ||
| * 🔌 API-driven architecture | ||
| * 📚 Digital content publishing | ||
| * ⚡ High-performance publishing infrastructure | ||
| * 🛠️ Extensible architecture | ||
| * 🔐 Security-focused development | ||
| * 📊 Analytics and content management capabilities | ||
|
|
||
| ## 🏗️ Technology | ||
|
|
||
| GhostX is based on the Ghost codebase and its existing technology stack. | ||
|
|
||
| Key technologies include: | ||
|
|
||
| * **Node.js** | ||
| * **JavaScript / TypeScript** | ||
| * **React** | ||
| * **Ember.js** | ||
| * **Express** | ||
| * **MySQL** | ||
| * **Redis** | ||
| * **pnpm** | ||
| * **Nx** | ||
|
|
||
| > GhostX follows the upstream Ghost development workflow and currently uses **pnpm** as its package manager. | ||
|
|
||
| ## 📂 Project Structure | ||
|
|
||
| ```text | ||
| GhostX/ | ||
| ├── apps/ # Application packages | ||
| ├── configs/ # Shared configuration | ||
| ├── docker/ # Docker configuration | ||
| ├── docs/ # Documentation | ||
| ├── e2e/ # End-to-end tests | ||
| ├── ghost/ | ||
| │ └── core/ # Ghost Core | ||
| ├── koenig/ # Editor-related packages | ||
| ├── packages/ # Shared packages and libraries | ||
| ├── scripts/ # Development and build scripts | ||
| ├── .github/ # GitHub workflows and configuration | ||
| ├── package.json # Root package configuration | ||
| ├── pnpm-workspace.yaml # pnpm workspace configuration | ||
| └── README.md # Project documentation | ||
| ``` | ||
|
|
||
| > The project structure may change as GhostX evolves. | ||
|
|
||
| ## 🚀 Getting Started | ||
|
|
||
| ### Prerequisites | ||
|
|
||
| Before developing GhostX, make sure you have the required tools installed: | ||
|
|
||
| * [Node.js](https://nodejs.org/) | ||
| * [pnpm](https://pnpm.io/) | ||
| * Git | ||
| * MySQL | ||
| * Redis | ||
| * Docker *(optional)* | ||
|
|
||
| ### Clone the Repository | ||
|
|
||
| ```bash | ||
| git clone https://github.com/YOUR_USERNAME/GhostX.git | ||
| cd GhostX | ||
| ``` | ||
| npm install ghost-cli -g | ||
|
|
||
| ### Initialize pnpm | ||
|
|
||
| For a fresh checkout: | ||
|
|
||
| ```bash | ||
| pnpm setup | ||
| ``` | ||
|
|
||
| | ||
| Restart your terminal if required so that pnpm becomes available. | ||
|
|
||
| Then, if installing locally add the `local` flag to get up and running in under a minute - [Local install docs](https://ghost.org/docs/install/local/) | ||
| ### Install Dependencies | ||
|
|
||
| ```bash | ||
| pnpm install | ||
| ``` | ||
| ghost install local | ||
|
|
||
| ### Start Development | ||
|
|
||
| Use the development commands defined by the current GhostX codebase: | ||
|
|
||
| ```bash | ||
| pnpm dev | ||
| ``` | ||
|
|
||
| | ||
| For the complete development workflow, consult the project's development documentation. | ||
|
|
||
| ## ⚙️ Environment Configuration | ||
|
|
||
| GhostX may require environment variables for local development and production. | ||
|
|
||
| or on a server run the full install, including automatic SSL setup using LetsEncrypt - [Production install docs](https://ghost.org/docs/install/ubuntu/) | ||
| If the repository provides an environment template, copy it before starting development: | ||
|
|
||
| ```bash | ||
| cp .env.example .env | ||
| ``` | ||
| ghost install | ||
|
|
||
| Configure the required values in `.env`. | ||
|
|
||
| ### 🔐 Important | ||
|
|
||
| **Never commit secrets to GitHub.** | ||
|
|
||
| Do not commit: | ||
|
|
||
| * API keys | ||
| * Database passwords | ||
| * Authentication secrets | ||
| * Private tokens | ||
| * Cloud credentials | ||
| * Encryption keys | ||
| * Production environment variables | ||
|
|
||
| Make sure sensitive files are included in `.gitignore`. | ||
|
|
||
| ## 🧪 Testing | ||
|
|
||
| Run the project's standard validation checks with: | ||
|
|
||
| ```bash | ||
| pnpm check | ||
| ``` | ||
|
|
||
| Additional tests may be available for individual applications and packages. | ||
|
|
||
| For example: | ||
|
|
||
| ```bash | ||
| pnpm test | ||
| ``` | ||
|
|
||
| | ||
| Refer to the relevant package documentation before running specialized tests. | ||
|
|
||
| ## 🐳 Docker | ||
|
|
||
| Docker can be used for local development and infrastructure services. | ||
|
|
||
| Start the development environment with the appropriate Compose configuration: | ||
|
|
||
| ```bash | ||
| docker compose up | ||
| ``` | ||
|
|
||
| For production deployment, use the project's production documentation and configuration rather than the development Compose setup. | ||
|
|
||
| ## 🗺️ Roadmap | ||
|
|
||
| GhostX is evolving continuously. | ||
|
|
||
| ### Planned Features | ||
|
|
||
| * [ ] Modernized user experience | ||
| * [ ] Enhanced creator profiles | ||
| * [ ] Community functionality | ||
| * [ ] Advanced content discovery | ||
| * [ ] Improved analytics | ||
| * [ ] Additional membership tools | ||
| * [ ] Digital content marketplace | ||
| * [ ] Creator monetization features | ||
| * [ ] Enhanced administration tools | ||
| * [ ] Performance improvements | ||
| * [ ] Security hardening | ||
| * [ ] Mobile-focused improvements | ||
| * [ ] Developer APIs and integrations | ||
| * [ ] Additional customization options | ||
|
|
||
| ## 🔐 Security | ||
|
|
||
| Security is a core priority of GhostX. | ||
|
|
||
| If you discover a security vulnerability, **do not publicly disclose it through GitHub Issues**. | ||
|
|
||
| Please report security issues privately through the appropriate security reporting process. | ||
|
|
||
| See [SECURITY.md](SECURITY.md) for additional information. | ||
|
|
||
| ## 🤝 Contributing | ||
|
|
||
| Contributions are welcome. | ||
|
|
||
| ### 1. Fork GhostX | ||
|
|
||
| Create your own fork of the GhostX repository. | ||
|
|
||
| ### 2. Clone Your Fork | ||
|
|
||
| ```bash | ||
| git clone https://github.com/YOUR_USERNAME/GhostX.git | ||
| cd GhostX | ||
| ``` | ||
|
|
||
| ### 3. Create a Branch | ||
|
|
||
| ```bash | ||
| git checkout -b feature/my-feature | ||
| ``` | ||
|
|
||
| ### 4. Make Your Changes | ||
|
|
||
| Implement your changes while following the project's coding and contribution guidelines. | ||
|
|
||
| ### 5. Validate Your Changes | ||
|
|
||
| ```bash | ||
| pnpm check | ||
| ``` | ||
|
|
||
| Run any additional tests required for the area you modified. | ||
|
|
||
| ### 6. Commit Your Changes | ||
|
|
||
| ```bash | ||
| git add . | ||
| git commit -m "feat: add my feature" | ||
| ``` | ||
|
|
||
| ### 7. Push Your Branch | ||
|
|
||
| ```bash | ||
| git push origin feature/my-feature | ||
| ``` | ||
|
|
||
| ### 8. Open a Pull Request | ||
|
|
||
| Open a Pull Request on GitHub and explain: | ||
|
|
||
| * What you changed | ||
| * Why you changed it | ||
| * How you tested it | ||
| * Any relevant screenshots or documentation | ||
|
|
||
| ## 📜 License | ||
|
|
||
| GhostX is derived from the open-source [Ghost](https://github.com/TryGhost/Ghost) project. | ||
|
|
||
| The upstream Ghost project is released under the **MIT License**. Ghost and the Ghost logo are trademarks of the Ghost Foundation. | ||
|
|
||
| GhostX must retain and comply with the applicable licenses, copyright notices, and trademark requirements of the upstream project and its dependencies. | ||
|
|
||
| See [LICENSE](LICENSE) for the applicable license information. | ||
|
|
||
| Check out our [official documentation](https://ghost.org/docs/) for more information about our [recommended hosting stack](https://ghost.org/docs/hosting/) & properly [upgrading Ghost](https://ghost.org/docs/update/), plus everything you need to develop your own Ghost [themes](https://ghost.org/docs/themes/) or work with [our API](https://ghost.org/docs/content-api/). | ||
| ## 🙏 Acknowledgements | ||
|
|
||
| ### Contributors & advanced developers | ||
| GhostX is built upon the work of the Ghost Foundation and the Ghost open-source community. | ||
|
|
||
| To contribute to Ghost, start with the | ||
| [contributing guide](.github/CONTRIBUTING.md). To work on the monorepo, see the | ||
| [codebase documentation](docs/README.md). | ||
| Special thanks to the developers and contributors behind: | ||
|
|
||
| | ||
| * [Ghost](https://github.com/TryGhost/Ghost) | ||
| * Node.js | ||
| * React | ||
| * Ember.js | ||
| * Express | ||
| * MySQL | ||
| * Redis | ||
| * Nx | ||
| * pnpm | ||
|
|
||
| # Ghost sponsors | ||
| ## 📌 Project Status | ||
|
|
||
| A big thanks to our sponsors and partners who make Ghost possible. If you're interested in sponsoring Ghost and supporting the project, please check out our profile on [GitHub sponsors](https://github.com/sponsors/TryGhost) :heart: | ||
| **🚧 Active Development** | ||
|
|
||
| **[DigitalOcean](https://m.do.co/c/9ff29836d717)** • **[Fastly](https://www.fastly.com/)** • **[Tinybird](https://tbrd.co/ghost)** • **[BairesDev](https://www.bairesdev.com)** | ||
| GhostX is currently being customized and developed. | ||
|
|
||
| | ||
| Features, APIs, architecture, and project structure may change as development progresses. | ||
|
|
||
| # Getting help | ||
| This project should be considered experimental until a stable release is announced. | ||
|
|
||
| Everyone can get help and support from a large community of developers over on the [Ghost forum](https://forum.ghost.org/). **Ghost(Pro)** customers have access to 24/7 email support. | ||
| ## 🌐 Links | ||
|
|
||
| To stay up to date with all the latest news and product updates, make sure you [subscribe to our changelog newsletter](https://ghost.org/changelog/) — or follow us [on Twitter](https://twitter.com/Ghost), if you prefer your updates bite-sized and facetious. :saxophone::turtle: | ||
| * **GhostX:** `https://github.com/evilhere7/GhostX` | ||
| * **Original Ghost Repository:** `https://github.com/TryGhost/Ghost` | ||
| * **Ghost Website:** `https://ghost.org` | ||
| * **Ghost Documentation:** `https://ghost.org/docs/` | ||
|
|
||
| | ||
| --- | ||
|
|
||
| # License & trademark | ||
| ⭐ **If you find GhostX useful, consider starring the repository and contributing to the project.** | ||
|
|
||
| Copyright (c) 2013-2026 Ghost Foundation - Released under the [MIT license](LICENSE). | ||
| Ghost and the Ghost Logo are trademarks of Ghost Foundation Ltd. Please see our [trademark policy](https://ghost.org/trademark/) for info on acceptable usage. | ||
| **Built with ❤️ by the GhostX community.** | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
Repository: TryGhost/Ghost
Length of output: 782
🏁 Script executed:
Repository: TryGhost/Ghost
Length of output: 14032
Align the README with the repository identity
The checkout and
package.jsonidentifyTryGhost/Ghost, but the README presents it asGhostXand links toevilhere7/GhostX. Keep the upstream README aligned withTryGhost/Ghost, or update the repository metadata, contributor links, workflows, and branding to targetGhostXconsistently.🤖 Prompt for AI Agents
Sources: Path instructions, MCP tools