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:

  1. A GitHub account
  2. Basic knowledge of Git and GitHub
  3. Familiarity with Markdown (for content contributions)
  4. 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:

  1. Ruby (version 2.5.0 or higher)
  2. RubyGems
  3. Bundler
  4. Git

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:

  1. Fork the repository on GitHub
  2. Create a new branch for your changes: git checkout -b add-new-tutorial
  3. Create a new Markdown file in the _posts directory with the format YYYY-MM-DD-title.md
  4. 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
---
  1. Write your tutorial content in Markdown
  2. If your tutorial requires JavaScript, add the file to the assets/js directory and reference it in the scripts array in the front matter
  3. Commit your changes and push to your fork: git push origin add-new-tutorial
  4. Create a pull request to the main repository

Creating Interactive Tools

If you’re adding an interactive tool that requires JavaScript:

  1. Create the JavaScript file in the assets/js directory
  2. Create a new post in the _posts directory that will house your tool
  3. Add the JavaScript file to the scripts array in the front matter
  4. Add any necessary HTML elements in your Markdown content
  5. Test your tool locally before submitting

Improving Existing Content

To fix errors or improve existing content:

  1. Fork the repository
  2. Create a new branch for your changes
  3. Make your changes to the appropriate files
  4. Commit and push your changes
  5. 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

  1. Ensure your code follows the project’s guidelines
  2. Update the README.md or documentation with details of changes if appropriate
  3. Submit your pull request with a clear title and description
  4. Wait for a maintainer to review your changes
  5. Address any feedback or requested changes
  6. 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.