Skip to content

Latest commit

 

History

History
53 lines (35 loc) · 1.51 KB

README.md

File metadata and controls

53 lines (35 loc) · 1.51 KB

reml

RemL stands for 'React Eventually Made with Less'. It is a Markup language for generating React source code.

It's actually just a helper tool for writing less code to do the same function. You write some syntax like:

[component App]

which transforms to

export default const App = () => {
  return null;
}

That's the idea.

So far RemL can create this:

import React from 'react';
import ReactDOM from 'react-dom';
import OtherComponent from './other-component';

class App extends React.Component {
  constructor(props){
    super(props);
  }
  
  render() {
    return null;
  }
 }

by typing:

[React] [DOM] [import OtherComponent other-component] [component App]

That being said, the project itself is simple. My intentions for it are not. I'd like to make it in a way that other languages and frameworks can benefit from it.

Here's a quick and dirty rundown of syntax in RemL.

So everything within [] is a command. RemL commands can be grouped inline or on multi lines, but insure that each command is separated by at least a space - else the code generated will return undefined.

Within the [], there are a series of arguments. First is the command type, such as import, export, component, React, and DOM. Next is the reference/class/component name. Then, a file path. At this time it is not necessary to include quotes around the path. So './other-component' can just be ./other-component or other-component (if it is an import like React).