diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..8aee0e4 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,73 @@ +# Contributing to IronCalc + +Wether you are aseasoned developer or a rookie, welcome to IronCalc! + +🎉 We appreciate your interest in contributing to our project. + +Before starting any work it is best if you get in touch to make sure your work is relevant. + +Please be patient, I am only one and this is a side project. + +--- + +## 🛠 Changes to the main repo + +If are used to work with GitHub the following steps should be straightforward. + +1. **Fork the repository** + Start by forking the repository to your own GitHub account. You can do this by clicking the "Fork" button on the top right of this page. + +2. **Clone the original repository** + Clone the original repository to your local machine: + ```bash + git clone https://github.com/ironcalc/IronCalc.git + cd IronCalc + ``` + + +3. **Add your fork as a remote** + Add your forked repository as a remote named fork: + + ```bash + git remote add fork https://github.com//IronCalc.git + ``` +4. **Create a new branch** + Always create a new branch for your changes to keep your work isolated: + + ```bash + git checkout -b your-feature-name + ``` +5. **Make changes** + Implement your changes, improvements, or bug fixes. Make sure to follow any coding style or project-specific guidelines. + +6. **Commit your changes** + Write clear and concise commit messages: + + ```bash + git add . + git commit -m "Brief description of your changes" + ``` +7. **Push to your fork** + Push your branch to your forked repository: + ```bash + git push fork your-feature-name + ```` + +8. **Create a Pull Request (PR)** + Follow the steps on the terminal or go to the orig IronCalc repository, and click on "New Pull Request." + Ensure your PR has a clear title and description explaining the purpose of your changes. + +Always start from the main branch in a clean state. `git pull` will generally get the lastest changes form the original repo. + +You should make sure that your changes are properly tested. + +# 🤝 Community and Support + +Feel free to reach out if you have questions or need help. Via GitHub, email, our discord server or bluesky. + +* Open an issue to report a bug or discuss a feature before implementing it. +* Engage with the community to share ideas or seek guidance. + +Note that not all contributors need to be code. Testing, bug reports, typos, ideas of all kinds you can just send us an email. + +Thank you for your contributions! 💪 Together, we can make IronCalc even better. \ No newline at end of file diff --git a/docs/README.md b/docs/README.md index 69d5290..4e9b3e8 100644 --- a/docs/README.md +++ b/docs/README.md @@ -4,14 +4,9 @@ This repository contains IronCalc's end-user documentation. Here, you can explor ## Prerequisites -To manage the documentation, we use [VitePress](https://vitepress.dev/guide/what-is-vitepress), a Static Site Generator (SSG). We also leverage [MathJax v3.0](https://vitepress.dev/guide/markdown#math-equations) for rendering mathematical equations. +To manage the documentation, we use [VitePress](https://vitepress.dev/guide/what-is-vitepress), a Static Site Generator (SSG). -First, ensure you have the following tools installed: - -- **Node.js** (version 18 or higher) -- **npm** (comes bundled with Node.js) -- A terminal to access the VitePress CLI -- A text editor with Markdown syntax support (e.g., VS Code, Cursor) +First, ensure you have [nodejs](https://nodejs.org/) installed in your system ## Installation @@ -21,46 +16,25 @@ Start installing the required dependencies by running the following command in y npm install ``` -## Build the Project - -Prepare the project for development by building it: - -```bash -npm run build -``` - ## Running the Project -Start the development server with: +Start a development instnace of the documentation server with: ```bash npm run dev ``` -After running the command, you can view the documentation in your browser at http://localhost:3000 (or the URL displayed in your terminal). +After running the command, you can view the documentation in your browser at http://localhost:5173 if the port is available. +Making changes to the Markdown will automatically reload your browser. -## Project Structure -The documentation is organized as follows: +## Build the Project -```plaintext -src -├── .vitepress -│ ├── theme -│ │ └── style.css -│ └── config.mts -├── features -├── functions -├── python-bindings -└── more +To deploy the project: + +```bash +npm run build ``` -### Notes on the Structure +The project will be build in `src/.vitepress/dist` -- **`.vitepress`**: Contains configuration and theming files for VitePress. - - `theme/style.css`: Use this file to customize styles across the documentation. - - `config.mts`: Modify this file to change global settings like navigation and layout. -- **`features`**: Describes the supported features of IronCalc. -- **`functions`**: Includes a comprehensive list of all functions, categorized as supported or unsupported. -- **`python-bindings`**: Documentation for using IronCalc with Python. -- **`more`**: Additional content or advanced topics related to IronCalc. diff --git a/docs/package.json b/docs/package.json index 59fceb1..83d90c2 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,8 +1,8 @@ { "scripts": { - "docs:dev": "vitepress dev src", - "docs:build": "vitepress build src", - "docs:preview": "vitepress preview src" + "dev": "vitepress dev src", + "build": "vitepress build src", + "preview": "vitepress preview src" }, "devDependencies": { "markdown-it-mathjax3": "^4.3.2",