diff --git a/dynamic_form.js b/dynamic_form.js index 50e58d9..d1c65a4 100644 --- a/dynamic_form.js +++ b/dynamic_form.js @@ -1,120 +1,120 @@ /** * Copyright (C) 2019 The Software Heritage developers * See the AUTHORS file at the top-level directory of this distribution * License: GNU Affero General Public License version 3, or any later version * See top-level LICENSE file for more information */ "use strict"; function createPersonFieldset(personPrefix, legend) { // Creates a fieldset containing inputs for informations about a person var fieldset = document.createElement("fieldset") fieldset.classList.add("person"); fieldset.id = personPrefix; fieldset.innerHTML = ` ${legend}

- +

`; return fieldset; } function addPersonWithId(container, prefix, legend, id) { var fieldset = createPersonFieldset(`${prefix}_${id}`, `${legend} #${id}`); container.appendChild(fieldset); } function addPerson(prefix, legend) { var container = document.querySelector(`#${prefix}_container`); var personId = getNbPersons(prefix) + 1; addPersonWithId(container, prefix, legend, personId); setNbPersons(prefix, personId); return personId; } function removePerson(prefix) { var personId = getNbPersons(prefix); document.querySelector(`#${prefix}_${personId}`).remove(); setNbPersons(prefix, personId-1); } // Initialize a group of persons (authors, contributors) on page load. // Useful if the page is reloaded. function initPersons(prefix, legend) { var nbPersons = getNbPersons(prefix); var personContainer = document.querySelector(`#${prefix}_container`) for (let personId = 1; personId <= nbPersons; personId++) { addPersonWithId(personContainer, prefix, legend, personId); } } function removePersons(prefix) { var nbPersons = getNbPersons(prefix); var personContainer = document.querySelector(`#${prefix}_container`) for (let personId = 1; personId <= nbPersons; personId++) { removePerson(prefix) } } function resetForm() { removePersons('author'); removePersons('contributor'); // Reset the form after deleting elements, so nbPersons doesn't get // reset before it's read. document.querySelector('#inputForm').reset(); } function initCallbacks() { document.querySelector('#license') .addEventListener('change', validateLicense); document.querySelector('#generateCodemeta') .addEventListener('click', generateCodemeta); document.querySelector('#resetForm') .addEventListener('click', resetForm); document.querySelector('#importCodemeta') .addEventListener('click', importCodemeta); document.querySelector('#inputForm') .addEventListener('change', generateCodemeta); initPersons('author', 'Author'); initPersons('contributor', 'Contributor'); } diff --git a/index.html b/index.html index cb6509a..21eb235 100644 --- a/index.html +++ b/index.html @@ -1,243 +1,244 @@ CodeMeta generator

CodeMeta generator

Most fields are optional. Mandatory fields will be highlighted when generating Codemeta.

The software itself

- - the software title +

the software title

- such as ISBNs, GTIN codes, UUIDs etc.. http://schema.org/identifier +

such as ISBNs, GTIN codes, UUIDs etc.. http://schema.org/identifier


- + - from SPDX licence list +

Development community / tools

Current version of the software


+
+ Additional Info +

+ + +

software funded by (e.g. specific grant)
+

+ +

+ + +

+ +

+ + +

+ +

+ + + + +

see www.repostatus.org for details
+

+ +

+ + +

+ +

+ + +

+
+
Authors

Order of authors does not matter.

Contributors

Order of contributors does not matter.

-
- Additional Info -

- - - software funded by (e.g. specific grant) -

- -

- - -

- -

- - -

- -

- - - - - see www.repostatus.org for details -

- -

- - -

- -

- - -

-


 
     
 
 
diff --git a/style.css b/style.css
index c44c8aa..25ee24d 100644
--- a/style.css
+++ b/style.css
@@ -1,53 +1,49 @@
 /**
  * Copyright (C) 2019  The Software Heritage developers
  * See the AUTHORS file at the top-level directory of this distribution
  * License: GNU Affero General Public License version 3, or any later version
  * See top-level LICENSE file for more information
  */
 
 
 .person {
     display: inline-block;
 }
 
-#fieldsetSoftwareItself, #fieldsetDevelopmentCommunity, #fieldsetCurrentVersion {
+#fieldsetSoftwareItself, #fieldsetDevelopmentCommunity, #fieldsetCurrentVersion, #fieldsetAdditionalInfo {
     display: inline-block;
 }
 
 #license {
     /* License names are long */
     min-width: 20em;
 }
 
 #funding {
     /* Funding names are long */
     min-width: 20em;
 }
 
 input[type=URL] {
     /* URLs are longer than the other fields */
     min-width: 20em;
 }
-description {
+.field-description {
     color : rgb(100, 104, 103);
     font-size: small;
-    display: block;
 }
 
 #codemetaText {
     width: 100%;
     min-height: 10em;
     border: 1px solid black;
 }
 
 #errorMessage {
     color: red;
 }
 
-input:valid {
-    color: black;
-  }
 input:invalid {
     color: red;
-  }
+}