+
+
+
+
+
\ No newline at end of file
diff --git a/classes/plugininfo.php b/classes/plugininfo.php
new file mode 100644
index 0000000..a57859d
--- /dev/null
+++ b/classes/plugininfo.php
@@ -0,0 +1,45 @@
+.
+
+/**
+ * Tiny Chem Drawing Tool plugin for Moodle.
+ *
+ * @package tiny_chemdraw
+ * @copyright 2024 Aniket Kumar
+ * @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+namespace tiny_chemdraw;
+
+use context;
+use editor_tiny\plugin;
+use editor_tiny\plugin_with_buttons;
+use editor_tiny\plugin_with_menuitems;
+
+class plugininfo extends plugin implements plugin_with_buttons, plugin_with_menuitems {
+
+ public static function get_available_buttons(): array {
+ return [
+ 'tiny_chemdraw/plugin',
+ ];
+ }
+
+ public static function get_available_menuitems(): array {
+ return [
+ 'tiny_chemdraw/plugin',
+ ];
+ }
+}
diff --git a/db/install.php b/db/install.php
new file mode 100644
index 0000000..a21b6c1
--- /dev/null
+++ b/db/install.php
@@ -0,0 +1,32 @@
+.
+
+/**
+ * Code to be executed after the plugin's database scheme has been installed is defined here.
+ *
+ * @package tiny_chemdraw
+ * @category upgrade
+ * @copyright 2024 Aniket Kumar
+ * @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+/**
+ * Custom code to be run on installing the plugin.
+ */
+function xmldb_tiny_chemdraw_install() {
+
+ return true;
+}
diff --git a/db/uninstall.php b/db/uninstall.php
new file mode 100644
index 0000000..1630aa9
--- /dev/null
+++ b/db/uninstall.php
@@ -0,0 +1,32 @@
+.
+
+/**
+ * Code that is executed before the tables and data are dropped during the plugin uninstallation.
+ *
+ * @package tiny_chemdraw
+ * @category upgrade
+ * @copyright 2024 Aniket Kumar
+ * @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+/**
+ * Custom uninstallation procedure.
+ */
+function xmldb_tiny_chemdraw_uninstall() {
+
+ return true;
+}
diff --git a/lang/en/tiny_chemdraw.php b/lang/en/tiny_chemdraw.php
new file mode 100644
index 0000000..0c6899b
--- /dev/null
+++ b/lang/en/tiny_chemdraw.php
@@ -0,0 +1,32 @@
+.
+
+/**
+ * Plugin strings are defined here.
+ *
+ * @package tiny_chemdraw
+ * @category string
+ * @copyright 2024 Aniket Kumar
+ * @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+defined('MOODLE_INTERNAL') || die();
+
+$string['pluginname'] = 'Chemical Structure Drawing Tool';
+$string['button_startMolDraw'] = 'Start MOL Draw';
+$string['menuitem_startMolDraw'] = 'Start MOL Draw';
+$string['privacy:metadata'] = 'Chemical Structure Editor does not store any personal data';
+$string['sketchtitle'] = 'Chemical Structure Editor';
diff --git a/pix/icon.png b/pix/icon.png
new file mode 100644
index 0000000..996aa98
Binary files /dev/null and b/pix/icon.png differ
diff --git a/pix/noun-chemical-1892838.png b/pix/noun-chemical-1892838.png
new file mode 100644
index 0000000..2f9e4fb
Binary files /dev/null and b/pix/noun-chemical-1892838.png differ
diff --git a/pix/noun-chemical-1892838.svg b/pix/noun-chemical-1892838.svg
new file mode 100644
index 0000000..176742a
--- /dev/null
+++ b/pix/noun-chemical-1892838.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/settings.php b/settings.php
new file mode 100644
index 0000000..9a4f9f2
--- /dev/null
+++ b/settings.php
@@ -0,0 +1,35 @@
+.
+
+/**
+ * Plugin administration pages are defined here.
+ *
+ * @package tiny_chemdraw
+ * @category admin
+ * @copyright 2024 Aniket Kumar
+ * @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+defined('MOODLE_INTERNAL') || die();
+
+if ($hassiteconfig) {
+ $settings = new admin_settingpage('tiny_chemdraw_settings', new lang_string('pluginname', 'tiny_chemdraw'));
+
+ // phpcs:ignore Generic.CodeAnalysis.EmptyStatement.DetectedIf
+ if ($ADMIN->fulltree) {
+ // TODO: Define actual plugin settings page and add it to the tree - {@link https://docs.moodle.org/dev/Admin_settings}.
+ }
+}
diff --git a/templates/moldraw.mustache b/templates/moldraw.mustache
new file mode 100644
index 0000000..93bbaeb
--- /dev/null
+++ b/templates/moldraw.mustache
@@ -0,0 +1,65 @@
+{{!
+ This file is part of Moodle - http://moodle.org/
+
+ Moodle is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Moodle is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Moodle. If not, see .
+}}
+{{!
+ @template tiny_moldraw/chemdoodle_iframe
+
+ Insert ketcher window for chemical structure drawing.
+
+ Example context (json):
+ {
+
+ }
+}}
+
+{{< core/modal }}
+ {{$title}}{{#str}} sketchtitle {{/str}}{{/title}}
+ {{$body}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{/body}}
+ {{$footer}}
+
+
+ {{/footer}}
+{{/ core/modal }}
diff --git a/version.php b/version.php
new file mode 100644
index 0000000..2e053fa
--- /dev/null
+++ b/version.php
@@ -0,0 +1,31 @@
+.
+
+/**
+ * Plugin version and other meta-data are defined here.
+ *
+ * @package tiny_chemdraw
+ * @copyright 2024 Aniket Kumar
+ * @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+defined('MOODLE_INTERNAL') || die();
+
+$plugin->component = 'tiny_chemdraw';
+$plugin->release = '0.1.0';
+$plugin->version = 2024041800;
+$plugin->requires = 2022112800;
+$plugin->maturity = MATURITY_ALPHA;