Elixir Cheat Sheet



This is a cheat sheet to showcase what is possible within the markdown pages.

Possible metadata attributes of a page

Cheat

Elixir Cheat sheet. I put together a cheat for elixir. If you find it helpful pass along. Updated fixed a few small typos. Pointed out after the fact. Modules Types Integer! 1234 0xcafe 0177 0b100 10000 cheat sheet elixir-lang.org v1.2 Updated 1/4/2016 Float! 1.0 3.1415 6.02e23 Atom!:foo:email protected:'with spaces' Tuple. SUBSCRIBE TO GET MORE CHEAT SHEETS + UPDATES I WANT TO BE NOTIFIED! Move seamlessly from learning the basics of Elixir to mastering the key concepts of OTP. – Roberto Infante, Devqf Ltd. Offers techniques and insights difficult or impossible to find anywhere else. – Kosmas Chatzimichalis, Mach7x.

  1. The Little Elixir & OTP Guidebook gets you started programming applications with Elixir and OTP. You begin with a quick overview of the Elixir language syntax, along with just enough functional programming to use it effectively. Then, you'll dive straight into OTP and learn how it helps you build scalable, fault-tolerant and distributed.
  2. An Elixir Cheat Sheet As an Elixir novice, I think one of the hardest things about getting started inElixir is figuring out what kind of data structures to use. My team has recently started going all in on Elixir, so I’ve been trying to brush upin earnest.

Minimum of metadata in a page:

  • title: Specify here the title of the page. This wil be the H1 title (replacing the top level title using the # in markdown )

This can be extended with following attributes (each with an example):

  • summary: Using this attribute it is possible to specify a summary which will be displayed under the title of the page. This summary will also be used as description of your page when the page is tagged.

  • contributors: list here all the contributors that helped in establishing the page. This will be the full name of the person. Make sure that the person name that is listed can be found in the CONTRIBUTORS.yaml file in the _data directory if you want to link the github id and other contact information.

  • search: by setting this field to exclude, the page will not end up in the search results of the searchbar. By default this is true.

  • hide_sidebar: When true, the sidebar will be hided. Default: false

  • custom-editme: This attribute can be used to specify an alternative file/link when clicked on the edit-me button

  • keywords: List here all the keywords that can be used to find the page using the searchbox in the right upper corner of the page, lowercase.

  • sidebar: Specify here an alternative sidebar. Default: main

  • toc: When set to false, the table of contents in the beginning of the page will not be generated.

  • tags: If you want to tag this page list the tag using this attribute

  • datatable: use this attribute to activate the pagination + sorting + searching in tables

Titles

Using:

Sub titles

Using:

Sub sub titles

Using:

Bold text

Bold text

Using:

Make sure there are no spaces between the asterisks and the text you want to put in bold.

Italic text

Elixir Phoenix Cheat Sheet

Italic text

Using:

Make sure there are no spaces between the asterisks and the text you want to put in italic.

File names/ files / software names

Text can be highlighted using:

Tables

You can use Multimarkdown syntax for tables. The following shows a sample:

Result:

Priority applesSecond priorityThird priority
ambrosiagalared delicious
pink ladyjazzmacintosh
honeycrispgranny smithfuji

Message boxes

Change the content attribute in the code snippet to change the text in the message box

Note: This is my note.
Warning: This is my warning.

This is done by using this snippet:

note.html can be replaced with tip.html, warning.html, important.html, depending on the type of message you want.

Images

This image is inserted in the markdown using following snippet:

Make sure that you add the image to the images directory and give it an understanding filename. Adapt the snippet so it points towards you image (only the filename is needed). In the case of the example, the image exampleImage.png is loaded. Supported attributes are:

  • max-width : an integer between 1 and 50 to define the relative width of the image
  • click: if true, the image will be clickable -> the image will be loaded in another tab
  • url: f you want the image to link to anther page
  • alt: describes the image and is used for people that are visually impaired
  • caption: Text that will appear under the image
  • inline: if true this image can be used in a list

Icons

Go to the Font Awesome library to see the available icons.

The Font Awesome icons allow you to adjust their size by simply adding fa-2x, fa-3x and so forth as a class to the icon to adjust their size to two times or three times the original size. As vector icons, they scale crisply at any size.

Here’s an example of how to scale up a camera icon:

Here’s what they render to:

1x fa-lg fa-2x fa-3x fa-4x fa-5x

Links

Create an external link

When linking to an external site, use:

Linking to internal pages

When linking to internal pages, you can manually link to the pages like this:

Will link to the planning page.

Drivers beckhoff automation. If you change the file name, you’ll have to update all of your links.

Emoji’s

Use GitHub emoticons! Look here to find a cheat sheet for all the emoticons. is made with :+1:

Code snippets

For syntax highlighting, use fenced code blocks optionally followed by the language syntax you want:

This looks as follows:

List and sub-list

  • List line 1
  • List line 2
    • Sublist line 1

Is made with:

Numbered lists look like this:

  1. Number one
  2. Number two
  3. Number three
    1. Sub number one
    2. Sub number two

and are made with:

A collapsible piece of text

Click to expand!
    Text


Is made with this code snippet:

Including a tess training material button

Link to a search query:

Will look like this:

Link to a specific training material:

Will look like this:

Tagging pages and listing those pages

Tagging pages is done by the tags: property in the metadata of the markdown page.Add the tag(s) to a list (square brackets). Make sure your tag corresponds to an existing page.

This metadata example shows how we tag the “Storage” page with the share tag:

If you than want to list all the pages containing the tag share you can us the code snippet:

Giving:

  • Data protection: how to make research data compliant to GDPR.
  • Data publication: prepare data and find repositories for publication.
  • Data transfer: how to transfer data files.
  • Identifiers: how to use identifiers for research data.
  • Licensing: how to license research data.
  • Metadata management: find metadata standards and vocabularies.
  • Sensitive data: how to identify different research data types.
  • Data storage: how to find appropriate storage solutions.

This is preferably done on the ‘research_it’ page. In this way the tag visible on the tagged pages will link to the ‘research_it’, interlinking everything. To only allow a curated list of tags, make sure you find the tag in the tags.yaml file in the _data repository.

Elixir Genserver Cheat Sheet

Adding a filtered tool and resource-list to your page

Here we list all the tools with the tag data publication by using the code snippet:

Giving:

Tool or resourceDescriptionTagsRegistry
dbGAPThe database of Genotypes and Phenotypes (dbGaP) archives and distributes data from studies investigating the interaction of genotype and phenotype in Humansdata publicationresearcherIT supporthuman data
DryadOpen-source, community-led data curation, publishing, and preservation platform for CC0 publicly available research datadata publicationbiomol sim
ELIXIR Deposition Databases for Biomolecular DataList of discipline-specific deposition databases recommended by ELIXIR.data publicationresearcherdata managerIT support
EMBL-EBI's data submission wizardEMBL-EBI's wizard for finding the right EMBL-EBI repository for your data.data publicationresearcherdata manager
fairsharingA curated, informative and educational resource on data and metadata standards, inter-related to databases and data policies.metadatadata publicationpolicy officerdata managerresearchermicro biotech
FigShareData publishing platformdata publicationbiomol sim
GA4GH data security toolkitPrincipled and practical framework for the responsible sharing of genomic and health-related data.data publicationpolicy officerdata managerIT supporthuman data
GitHubVersioning system, used for sharing code, as well as for sharing of small datadata publicationdata organisationIT supportdata manager
GitLabGitLab is an open source end-to-end software development platform with built-in version control, issue tracking, code review, CI/CD, and more. Self-host GitLab on your own servers, in a container, or on a cloud provider.data organisationdata publicationIT supportdata manager
Mendeley dataMultidisciplinary, free-to-use open repository specialized for research datadata publicationbiomol sim
OpenScienceFrameworkfree and open source project management tool that supports the entire research lifecycle: planning, execution, reporting, archiving, and discoverydata publicationbiomol sim
PANGAEAData Publisher for Earth and Environmental Sciencedata publication
Repository FinderRepository Finder can help you find an appropriate repository to deposit your research data. The tool is hosted by DataCite and queries the re3data registry of research data repositories.data publicationresearcherdata manager
Scientific Data's Recommended RepositoriesList of respositories recommended by Scinetific Data, contains both discipline-specific and general repositories.data publicationresearcherdata managerIT support
The European Genome-phenome Archive (EGA)EGA is a service for permanent archiving and sharing of all types of personally identifiable genetic and phenotypic data resulting from biomedical research projectsdata publicationhuman datapolicy officer
Wellcome Open Research - Data GuidelinesWellcome Open Research requires that the source data underlying the results are made available as soon as an article is published. This page provides information about data you need to include, where your data can be stored, and how your data should be presented.data publicationresearcherdata manager
ZenodoGeneralist research data repository built and developed by OpenAIRE and CERNdata publicationbiomol sim

Add a second tag for filtering using the ‘tag2’ attribute:

Giving:

Tool or resourceDescriptionTagsRegistry
dbGAPThe database of Genotypes and Phenotypes (dbGaP) archives and distributes data from studies investigating the interaction of genotype and phenotype in Humansdata publicationresearcherIT supporthuman data
ELIXIR Deposition Databases for Biomolecular DataList of discipline-specific deposition databases recommended by ELIXIR.data publicationresearcherdata managerIT support
GA4GH data security toolkitPrincipled and practical framework for the responsible sharing of genomic and health-related data.data publicationpolicy officerdata managerIT supporthuman data
GitHubVersioning system, used for sharing code, as well as for sharing of small datadata publicationdata organisationIT supportdata manager
GitLabGitLab is an open source end-to-end software development platform with built-in version control, issue tracking, code review, CI/CD, and more. Self-host GitLab on your own servers, in a container, or on a cloud provider.data organisationdata publicationIT supportdata manager
Scientific Data's Recommended RepositoriesList of respositories recommended by Scinetific Data, contains both discipline-specific and general repositories.data publicationresearcherdata managerIT support

Elixir Cheat Sheet Pdf

Make sure the tag exists in the tool_and_resource_list.yml file + in the tags.yml.

Tools and resources can be added by manipulating the main_tool_and_resource_list.csv file in the _data repository. For more info about how to add a tool or resource please visit our guide.

Enforce space between two lines

To have space between two lines of text, simply leave one empty line in between the line in the markdown. If more is needed, you can force this with:

Enforce no space between two lines

When you want to have a line of text.
And another line underneath it without space, use:

Without these backslashes

looks like this:

When you want to have a line of text.And another line underneath it without space, use:

Potion Cheat Sheet Minecraft

Last year I created an Erlang cheatsheet. I’ve used Erlang for quite a while, so I knew exactly what I wanted on the cheatsheet. I’ve only been using Elixir for about a year so it took me a while to figure out what I wanted to include on an Elixir cheatsheet. But I settled on some things that aren’t that complicated, but I know I’ve forgotten many times. The resulting cheatsheet includes tables on sigils, escape codes, metaprogramming constructs, pattern matching on lists, maps, and structs, and list comprehension syntax. This cheatsheet isn’t intended for beginners because it does not cover any of the fundamentals of the language. Just like the Erlang cheatsheet this cheatsheet is designed to be printed on a single sheet of 8.5 by 11 inch paper.

The cheatsheet is available for you to freely print or download at https://stratus3d.com/elixir-cheatsheet/. The source code has been released under the MIT license and is available on GitHub at Stratus3D/erlang-cheatsheet.

I’d really like to hear your thoughts on the cheatsheet. Is there something you think my cheatsheet is missing? Is there something that can be simplified or removed?

Elixir Cheat Sheet

Let me know via email. If you want to contribute directly feel free to create an issue or pull request on the GitHub repository.

Elixir Commands Cheat Sheet

References