Convert Figma logo to code with AI

mdn logocontent

The content behind MDN Web Docs

9,118
22,458
9,118
495

Top Related Projects

freeCodeCamp.org's open-source codebase and curriculum. Learn to code for free.

24 Lessons, 12 Weeks, Get Started as a Web Developer

Interactive roadmaps, guides and other educational content to help developers grow in their careers.

Short code snippets for all your development needs

:books: Freely available programming books

30 days of JavaScript programming challenge is a step-by-step guide to learn JavaScript programming language in 30 days. This challenge may take more than 100 days, please just follow your own pace. These videos may help too: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw

Quick Overview

MDN Web Docs (mdn/content) is an open-source repository containing the content for Mozilla Developer Network (MDN) Web Docs. It serves as a comprehensive resource for web developers, providing documentation, tutorials, and references for web technologies such as HTML, CSS, JavaScript, and Web APIs.

Pros

  • Extensive and well-maintained documentation for web technologies
  • Community-driven content with contributions from developers worldwide
  • Regular updates to keep pace with evolving web standards
  • Accessible and free resource for developers of all skill levels

Cons

  • Large repository size can be overwhelming for new contributors
  • Content may occasionally lag behind the latest browser implementations
  • Maintaining consistency across all documentation can be challenging
  • Some older or less popular technologies may have less comprehensive coverage

Getting Started

To contribute to the MDN Web Docs content:

  1. Fork the repository on GitHub: https://github.com/mdn/content
  2. Clone your fork locally:
    git clone https://github.com/YOUR-USERNAME/content.git
    
  3. Set up the development environment:
    cd content
    npm install
    
  4. Create a new branch for your changes:
    git checkout -b your-feature-branch
    
  5. Make your changes and commit them:
    git add .
    git commit -m "Your descriptive commit message"
    
  6. Push your changes to your fork:
    git push origin your-feature-branch
    
  7. Create a pull request on the original repository to submit your changes for review.

For more detailed instructions, refer to the Contributing to MDN Web Docs guide.

Competitor Comparisons

freeCodeCamp.org's open-source codebase and curriculum. Learn to code for free.

Pros of freeCodeCamp

  • Interactive coding challenges and projects for hands-on learning
  • Comprehensive curriculum covering a wide range of web development topics
  • Active community and forum for peer support and collaboration

Cons of freeCodeCamp

  • Less detailed explanations compared to MDN's in-depth documentation
  • Focus primarily on web development, with less coverage of other programming areas
  • May not always reflect the latest industry standards or best practices

Code Comparison

freeCodeCamp (JavaScript challenge example):

function confirmEnding(str, target) {
  return str.slice(str.length - target.length) === target;
}
confirmEnding("Bastian", "n");

MDN content (JavaScript documentation example):

const str1 = 'Cats are the best!';
console.log(str1.endsWith('best!'));
// Expected output: true
console.log(str1.endsWith('best', 17));
// Expected output: true

While freeCodeCamp focuses on practical coding challenges, MDN provides more comprehensive documentation and explanations of language features. freeCodeCamp's code examples are typically part of interactive exercises, whereas MDN's examples demonstrate specific language concepts or methods.

24 Lessons, 12 Weeks, Get Started as a Web Developer

Pros of Web-Dev-For-Beginners

  • Structured curriculum with 12-week lesson plan
  • Includes quizzes, assignments, and project-based learning
  • More beginner-friendly with step-by-step guidance

Cons of Web-Dev-For-Beginners

  • Less comprehensive coverage of web technologies
  • Not as frequently updated as content
  • Focuses primarily on frontend development

Code Comparison

content:

<article>
  <h1>HTML basics</h1>
  <p>HTML (Hypertext Markup Language) is the code that is used to structure a web page and its content.</p>
</article>

Web-Dev-For-Beginners:

<!-- Your first HTML! -->
<h1>My First Page</h1>
<p>Hello, world!</p>
<img src="./assets/first-image.png" alt="My first image" />

content provides more detailed and comprehensive documentation, while Web-Dev-For-Beginners offers a more structured learning approach with practical examples. content is better suited for reference and in-depth learning, whereas Web-Dev-For-Beginners is ideal for beginners looking for a guided curriculum. Both repositories have their merits, and the choice between them depends on the learner's needs and learning style.

Interactive roadmaps, guides and other educational content to help developers grow in their careers.

Pros of developer-roadmap

  • Visual learning path with clear progression for various tech roles
  • Regularly updated to reflect current industry trends and technologies
  • Community-driven content with contributions from developers worldwide

Cons of developer-roadmap

  • Less comprehensive technical details compared to content's in-depth explanations
  • May oversimplify complex topics or career paths
  • Limited hands-on examples or code snippets

Code Comparison

While content provides extensive code examples, developer-roadmap focuses more on conceptual understanding. Here's a brief comparison:

content (HTML example):

<article>
  <h1>Article Heading</h1>
  <p>This is a paragraph in the article.</p>
</article>

developer-roadmap (conceptual representation):

[Frontend] -> [HTML] -> [Semantic Elements]
                     -> [Forms and Validations]
                     -> [Conventions and Best Practices]

The content repository offers detailed explanations and code samples, while developer-roadmap provides a high-level overview of topics to learn. Both serve different purposes: content as a comprehensive reference and developer-roadmap as a learning path guide.

Short code snippets for all your development needs

Pros of 30-seconds-of-code

  • Concise, bite-sized code snippets for quick learning and implementation
  • Covers a wide range of JavaScript topics and use cases
  • Regularly updated with new snippets and improvements

Cons of 30-seconds-of-code

  • Less comprehensive documentation compared to MDN content
  • May not cover advanced topics or edge cases in depth
  • Focuses primarily on JavaScript, while MDN covers multiple web technologies

Code Comparison

30-seconds-of-code snippet:

const deepClone = obj => {
  if (obj === null) return null;
  let clone = Object.assign({}, obj);
  Object.keys(clone).forEach(
    key => (clone[key] = typeof obj[key] === 'object' ? deepClone(obj[key]) : obj[key])
  );
  return Array.isArray(obj) ? (clone.length = obj.length) && Array.from(clone) : clone;
};

MDN content example:

function deepClone(obj) {
  return JSON.parse(JSON.stringify(obj));
}

The 30-seconds-of-code snippet provides a more robust deep cloning solution, handling arrays and nested objects, while the MDN example offers a simpler approach using JSON methods. This illustrates the difference in depth and complexity between the two repositories, with 30-seconds-of-code often providing more specialized solutions and MDN focusing on broader, more general explanations and examples.

:books: Freely available programming books

Pros of free-programming-books

  • Covers a wider range of programming topics and languages
  • Community-driven with frequent updates and contributions
  • Includes resources in multiple languages, making it more accessible globally

Cons of free-programming-books

  • Less structured and organized compared to content
  • Quality of resources may vary as it's a curated list rather than original content
  • May include outdated or deprecated resources

Code comparison

While a direct code comparison isn't relevant for these repositories, we can compare their structure:

content:

files/
  en-us/
    web/
      html/
      css/
      javascript/

free-programming-books:

books/
  free-programming-books-langs.md
  free-programming-books-subjects.md
courses/
  free-courses-en.md

content focuses on web technologies with a structured hierarchy, while free-programming-books organizes resources by type and language in markdown files.

30 days of JavaScript programming challenge is a step-by-step guide to learn JavaScript programming language in 30 days. This challenge may take more than 100 days, please just follow your own pace. These videos may help too: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw

Pros of 30-Days-Of-JavaScript

  • Structured learning path with daily exercises
  • Beginner-friendly approach with step-by-step explanations
  • Includes practical projects and challenges

Cons of 30-Days-Of-JavaScript

  • Less comprehensive than content's extensive documentation
  • May not cover advanced topics in as much depth
  • Limited community contributions compared to content

Code Comparison

30-Days-Of-JavaScript example:

const numbers = [1, 2, 3, 4, 5]
const sum = numbers.reduce((acc, cur) => acc + cur, 0)
console.log(sum) // 15

content example:

const array1 = [1, 2, 3, 4];
const reducer = (accumulator, currentValue) => accumulator + currentValue;
console.log(array1.reduce(reducer));
// Expected output: 10

Both repositories provide JavaScript examples, but content tends to offer more detailed explanations and multiple use cases for each concept. 30-Days-Of-JavaScript focuses on practical exercises and daily challenges, making it more suitable for beginners looking for a structured learning path. content, on the other hand, serves as a comprehensive reference for web technologies, including JavaScript, and is maintained by a larger community of contributors.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Welcome to MDN Web Docs

github-profile

MDN Web Docs is an open-source, collaborative project that documents web technologies including CSS, HTML, JavaScript, and Web APIs. Alongside detailed reference documentation, we provide extensive learning resources for students and beginners getting started with web development.

MDN's mission

MDN's mission is to provide a blueprint for a better internet and empower a new generation of developers and content creators to build it.

The strength of MDN Web Docs lies in its vast community of active readers and contributors. Since 2005, approximately 45,000 contributors have created the documentation we know and love. Together, contributors have created over 45,000 documents that make up an up-to-date, comprehensive, and free resource for web developers worldwide.

In addition to English-language articles, over 35 volunteers lead translation and localization efforts for Chinese, French, Japanese, Korean, Portuguese, Russian, and Spanish.

Build the site

To set up the site locally, you need to have Node.js and Yarn installed. You can check if these are installed by running the following commands:

node -v
yarn -v

After you have installed Node.js and Yarn, you can install the dependencies using yarn and start the local preview:

yarn
yarn start

Once started, a live preview is available at http://localhost:5042/.

Contribute to MDN Web Docs

You can contribute to MDN Web Docs and be a part of our community through content contributions, engineering, or translation work. The MDN Web Docs project welcomes contributions from everyone who shares our goals and wants to contribute constructively and respectfully within our community.

To find out how to get started, see the CONTRIBUTING.md document in this repository. By participating in and contributing to our projects and discussions, you acknowledge that you have read and agree to our Code of Conduct, which means adhering to Mozilla's Community Participation Guidelines.

Get in touch

You can communicate with the MDN Web Docs team and community using the communication channels.