How to Contribute to Learn Banano
How to Contribute to Learn Banano
Learn Banano is an open-source project, and we welcome contributions from the community. This guide will walk you through the process of contributing to the site, whether you want to add a new tutorial, fix a typo, or improve the site’s functionality.
What You Can Contribute
There are many ways to contribute to Learn Banano:
- Write tutorials about Banano and its ecosystem
- Create tools that help users interact with Banano
- Improve existing content by fixing errors or adding information
- Enhance the site’s design or functionality
- Translate content into other languages
- Report issues or suggest improvements
Getting Started
Prerequisites
Before you start contributing, you’ll need:
- A GitHub account
- Basic knowledge of Git and GitHub
- Familiarity with Markdown (for content contributions)
- Local development environment (optional, for testing changes)
Setting Up Your Local Environment (Optional)
If you want to test your changes locally before submitting them, you’ll need:
Once you have these installed, you can set up the local environment:
# Clone the repository
git clone https://github.com/banano-trade/learn.git
cd learn.banano.trade
# Install dependencies
bundle install
# Start the local server
bundle exec jekyll serve
You can now access the site locally at http://localhost:4000
.
Contributing Content
Writing a New Tutorial
To add a new tutorial or blog post:
- Fork the repository on GitHub
- Create a new branch for your changes:
git checkout -b add-new-tutorial
- Create a new Markdown file in the
_posts
directory with the formatYYYY-MM-DD-title.md
- Add the front matter at the top of the file:
---
layout: post
title: "Your Tutorial Title"
date: YYYY-MM-DD HH:MM:SS +0000
categories: tutorial
tags: [beginner, wallet, etc]
scripts:
- /assets/js/specific-script.js # Optional, for interactive tutorials
---
- Write your tutorial content in Markdown
- If your tutorial requires JavaScript, add the file to the
assets/js
directory and reference it in thescripts
array in the front matter - Commit your changes and push to your fork:
git push origin add-new-tutorial
- Create a pull request to the main repository
Creating Interactive Tools
If you’re adding an interactive tool that requires JavaScript:
- Create the JavaScript file in the
assets/js
directory - Create a new post in the
_posts
directory that will house your tool - Add the JavaScript file to the
scripts
array in the front matter - Add any necessary HTML elements in your Markdown content
- Test your tool locally before submitting
Improving Existing Content
To fix errors or improve existing content:
- Fork the repository
- Create a new branch for your changes
- Make your changes to the appropriate files
- Commit and push your changes
- Create a pull request
Best Practices
Content Guidelines
- Write clear, concise, and beginner-friendly tutorials
- Use proper Markdown formatting for headings, code blocks, lists, etc.
- Include screenshots or diagrams when helpful
- Credit sources and references where appropriate
- Proofread your content before submitting
Technical Guidelines
- Keep JavaScript files modular and well-commented
- Ensure responsive design for all screen sizes
- Test your changes on multiple browsers
- Follow the existing code style and conventions
- Don’t include large binary files in the repository
Pull Request Process
- Ensure your code follows the project’s guidelines
- Update the README.md or documentation with details of changes if appropriate
- Submit your pull request with a clear title and description
- Wait for a maintainer to review your changes
- Address any feedback or requested changes
- Once approved, your changes will be merged into the main branch
Getting Help
If you have questions or need help with your contribution, you can:
- Open an issue on GitHub with your question
- Join the Banano Discord and ask in the development channel
- Reach out to the maintainers directly
Thank you for contributing to Learn Banano! Your efforts help make Banano more accessible and user-friendly for everyone.