<!doctype html>
<html>
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>GCG Website: Netlify CMS</title>


  <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
  <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
  <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
  <link rel="manifest" href="/site.webmanifest">
  <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#1a1a37">
  <meta name="msapplication-TileColor" content="#1a1a37">
  <meta name="msapplication-TileImage" content="/mstile-144x144.png">
  <meta name="theme-color" content="#1a1a37">


</head>
<body>
  <!-- Include the script that builds the page and powers Netlify CMS -->
  <script src="https://unpkg.com/netlify-cms@^2.0.0/dist/netlify-cms.js"></script>
  <script src="https://sharadcodes.github.io/hugo-shortcodes-netlify-cms/dist/hugo_shortcodes_netlify_cms.js"></script>
  <script>
CMS.registerEditorComponent({
  // Internal id of the component
  id: "collapsible-note",
  // Visible label
  label: "Zugeklappter Abschnitt",
  collapsed: true,
  // Fields the user need to fill out when adding an instance of the component
  fields: [
    {
      name: 'summary',
      label: 'Titel',
      widget: 'string'
    },
    {
      name: 'details',
      label: 'Inhalt',
      widget: 'markdown'
    }
  ],
  // Regex pattern used to search for instances of this block in the markdown document.
  // Patterns are run in a multline environment (against the entire markdown document),
  // and so generally should make use of the multiline flag (`m`). If you need to capture
  // newlines in your capturing groups, you can either use something like
  // `([\S\s]*)`, or you can additionally enable the "dot all" flag (`s`),
  // which will cause `(.*)` to match newlines as well.
  //
  // Additionally, it's recommended that you use non-greedy capturing groups (e.g.
  // `(.*?)` vs `(.*)`), especially if matching against newline characters.
  pattern: /^{{% open-element title=\"(.*?)\" %}}$\s*?(.*?)\n^{{% \/open-element %}}$/ms,
  // Given a RegExp Match object
  // (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match#return_value),
  // return an object with one property for each field defined in `fields`.
  //
  // This is used to populate the custom widget in the markdown editor in the CMS.
  fromBlock: function(match) {
    return {
      summary: match[1],
      details: match[2]
    };
  },
  // Given an object with one property for each field defined in `fields`,
  // return the string you wish to be inserted into your markdown.
  //
  // This is used to serialize the data from the custom widget to the
  // markdown document
  toBlock: function(data) {
    return `
{{% open-element title="${data.summary}" %}}

${data.details}

{{% /open-element %}}
`;
  },
  // Preview output for this component. Can either be a string or a React component
  // (component gives better render performance)
  toPreview: function(data) {
    return `
    <div class="container">
      <div class="card border-primary rounded-0 hover-shadow mb-5">
        <div class="card-body">
          <details>
          <summary>${data.summary}</summary>
          <div class="content"><p class="content">
          ${data.details}
          </p></div>
          </details>
        </div>
      </div>
    </div>
`;
  }
});
</script>
  <!-- <script>
  CMS.registerPreviewStyle("https://eesev9ie.github.io/style.css");
  CMS.registerEditorComponent({
    id: "gallery",
    label: "Bildergallerie",
    fields: [{
            name: "dir",
            label: "Ordner",
            widget: "string"
        },
    ],
    pattern: /{{< gallery dir="([a-zA-Z0-9]+)" />}}/,
    fromBlock: function(match) {
        return {
            username: dir[1],
        };
    },
    toBlock: function(obj) {
        return `{{< gallery dir="${obj.dir}" />}}`;
    },
    toPreview: function(obj) {
        return `{{< gallery dir="${obj.dir}" />}}`;
    },
});
</script> -->
<script>
CMS.registerEditorComponent({
    id: "gallery-dir",
    label: "Gallerie",
    fields: [{
        name: "dir",
        label: "Ordner",
        widget: "string"
    }],
    pattern: /{{< gallery dir=\"(.*?)\" \/>}}/,
    fromBlock: function(match) {
        return {
            dir: match[1],
        };
    },
    toBlock: function(obj) {
        return `{{< gallery dir=\"${obj.dir}\" \/>}}`;
    },
    toPreview: function(obj) {
        return `{{< gallery dir=\"${obj.dir}\" \/>}}`;
    },
});
</script>
<script>
CMS.registerEditorComponent({
    id: "gallery-script",
    label: "Gallerie-Skript (Immer am Anfang hinzufügen)",
    fields: [],
    collapsed:true,
    pattern: /{{< load-photoswipe >}}/,
    fromBlock: function(match) {
        return {
        };
    },
    toBlock: function(obj) {
        return `{{< load-photoswipe >}}`;
    },
    toPreview: function(obj) {
        return ``;
    },
});
</script>
<script>
CMS.registerPreviewStyle("https://eesev9ie.github.io/plugins/bootstrap/bootstrap.min.css");
CMS.registerPreviewStyle("https://eesev9ie.github.io/plugins/slick/slick.css");
CMS.registerPreviewStyle("https://eesev9ie.github.io/plugins/animate/animate.css");
CMS.registerPreviewStyle("https://eesev9ie.github.io/plugins/venobox/venobox.css");
CMS.registerPreviewStyle("https://eesev9ie.github.io/plugins/themify-icons/themify-icons.css");
CMS.registerPreviewStyle("https://code.cdn.mozilla.net/fonts/fira.css");
CMS.registerPreviewStyle("https://eesev9ie.github.io/scss/style.css");
</script>
<script>
var PostPreview = createClass({
  render: function() {
    var entry = this.props.entry;
    var image = entry.getIn(['data', 'image']);
    var bg = this.props.getAsset(image);
    const divStyle = {
      backgroundImage: 'url("/media/backgrounds/page-title.png"),url("/media/backgrounds/page-title.png")',
    };
    return h('div', {},
              h('section', {"className": "page-title-section overlay", "style": divStyle},
                h('div', {"className": "container"},
                  h('div', {"className": "col-md-8"},
                    h('ul', {"className": "list-inline custom-breadcrumb"},
                      h('li', {"className": "list-inline-item h1"},
                        h('a', {"className": "text-primary font-secondary", href: ""}, "Schulchronik")),
                      h('li', {"className": "list-inline-item ha"},
                        h("i", {"className": "ti-angle-right text-white"})),
                      h('li', {"className": "list-inline-item text-white h1 font-secondary"}, entry.getIn(['data', 'title']))
                    )
                  )
                )
              ),
              h('section', {"className": "section-sm"},
                h('div', {"className": "container"},
                  h('div', {"className": "row"},
                    h('div', {"className": "col-12 mb-4"}, this.props.widgetFor('body'))
                  )
                )
              )
            );
  }
});

CMS.registerPreviewTemplate("schulchronik", PostPreview);
</script>
</body>
</html>

<!-- src: bg.toString()}),-->
