Elixirschool
The content behind Elixir School, the premier destination for people seeking to learn and master the Elixir programming language.
Install / Use
/learn @elixirschool/ElixirschoolREADME
Elixir School
Elixir School is the premier destination for people seeking to learn and master the Elixir programming language.
You can access lessons at ElixirSchool.com.
Feedback and participation are strongly encouraged! Please see Contributing for more details on how to get involved. Be sure to review our style guide before submitting changes.
Running Locally
This repository only contains the lessons and blog posts hosted on Elixir School. To run the Elixir School website locally, find the code and setup instructions in the school_house repository.
Translation Version Report
To see which translations are outdated or missing, run the version report script:
elixir bin/version_report.exs
Filter by language or severity:
elixir bin/version_report.exs --lang ja,es
elixir bin/version_report.exs --severity major,missing
Translating a Lesson
-
Each of the languages has a folder in
lessons/directory of this repo. To start translating you need to copy a file from the English language to the corresponding folder in your language and start translating it. -
Use the version report to see pages that haven't been translated yet, or pages which need to have their translations updated:
elixir bin/version_report.exs --lang <your-lang> -
Translated lessons must include page metadata.
titleshould be a translation of the original lesson'stitle.versionshould be set to the original Englishversion.excerptshould be a translation of the original lesson'sexcerpt.
For example
lessons/ja/basics/basics.md:%{ version: "1.0.0", title: "基本", excerpt: """ 基本についての短い説明。 """ } --- -
Submit a PR with the new translated lesson :tada:
Posting an Article
Elixir School is powered by Phoenix and NimblePublisher, a publishing engine that supports Markdown formatting. If you're familiar with Phoenix & NimblePublisher then you're ready to go, if you aren't don't fret we're here to help!
-
We need to create the file for our article. Blog posts live in the
posts/directory. Our filename will need to conform to theYYYY-MM-DD-name-separated-with-hyphens.mdpattern. -
After opening the new file in our favorite editor we need to add some metadata to the top of it:
%{
author: "Author Name",
author_link: "https://github.com/author_github_account",
tags: ["phoenix"],
date: ~D[YYYY-MM-DD],
title: "Full Article Title",
excerpt: """
Article short preview text
"""
}
---
- Once we've completed writing our post submit a pull request to have it reviewed before it is published.
Related Skills
docs-writer
99.6k`docs-writer` skill instructions As an expert technical writer and editor for the Gemini CLI project, you produce accurate, clear, and consistent documentation. When asked to write, edit, or revie
model-usage
342.0kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
arscontexta
2.9kClaude Code plugin that generates individualized knowledge systems from conversation. You describe how you think and work, have a conversation and get a complete second brain as markdown files you own.
cursor-agent-tracking
134A repository that provides a structured system for maintaining context and tracking changes in Cursor's AGENT mode conversations through template files, enabling better continuity and organization of AI interactions.
