Markdown Preview FCC

In this example below you will see how to do a Markdown Preview FCC with some HTML / CSS and Javascript

Thumbnail
This awesome code was written by LindseyMaddox, you can see more from this user in the personal repository.
You can find the original code on Codepen.io
Copyright LindseyMaddox ©

Technologies

  • HTML
  • CSS
  • JavaScript
<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">
  <title>Markdown Preview FCC</title>
  
  
  <link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css'>

      <link rel="stylesheet" href="css/style.css">

  
</head>

<body>

  <div class="container" id="root">
</div>
  <script src='https://cdnjs.cloudflare.com/ajax/libs/react/15.3.1/react.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/react/15.3.1/react-dom.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/marked/0.3.6/marked.min.js'></script>

  

    <script  src="js/index.js"></script>




</body>

</html>

/*Downloaded from https://www.codeseek.co/LindseyMaddox/markdown-preview-fcc-qRXKNP */
textarea {
  height: 300px;
  width: 425px;
}

/* Smartphones (portrait and landscape) ----------- */
@media only screen and (min-device-width : 320px) and (max-device-width : 400px) {
/* Styles */
  textarea {
    height: 200px;
    width: 300px;
  }
}

@media only screen and (min-device-width : 400px) and (max-device-width : 525px) {
/* Styles */
  textarea {
    height: 200px;
    width: 375px;
  }
}


/*Downloaded from https://www.codeseek.co/LindseyMaddox/markdown-preview-fcc-qRXKNP */
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }

var Markdown = function (_React$Component) {
  _inherits(Markdown, _React$Component);

  function Markdown() {
    _classCallCheck(this, Markdown);

    var _this = _possibleConstructorReturn(this, (Markdown.__proto__ || Object.getPrototypeOf(Markdown)).call(this));

    _this.state = {
      text: "" };
    return _this;
  }

  _createClass(Markdown, [{
    key: "render",
    value: function render() {

      return React.createElement(
        "div",
        { id: "row" },
        React.createElement(
          "div",
          { className: "col-12 col-md-6", id: "markdown-input" },
          React.createElement(
            "h3",
            null,
            "Markdown Input"
          ),
          React.createElement("textarea", { className: "input-side",
            onChange: this.handleChange.bind(this) })
        ),
        React.createElement(
          "div",
          { className: "col-12 col-md-6", id: "markdown-preview" },
          React.createElement(
            "h3",
            null,
            "Translated Markdown"
          ),
          React.createElement("div", { dangerouslySetInnerHTML: { __html: marked(this.state.text) } })
        )
      );
    }
  }, {
    key: "handleChange",
    value: function handleChange(event) {
      this.setState({ text: event.target.value });
    }
  }]);

  return Markdown;
}(React.Component);

ReactDOM.render(React.createElement(Markdown, null), document.getElementById('root'));

Comments