瀏覽代碼

Initial work on module configs. Not yet rendering because ntnsndr doesn't know vue

Nathan Schneider 1 年之前
父節點
當前提交
eec3e42902
共有 6 個文件被更改,包括 35 次插入14 次删除
  1. 8 8
      Gemfile.lock
  2. 13 1
      _includes/vue-rule-script.html
  3. 4 1
      _modules/approval_voting.md
  4. 2 2
      _modules/initiation.md
  5. 2 2
      _modules/random_choice.md
  6. 6 0
      assets/js/vue.rules.js

+ 8 - 8
Gemfile.lock

@@ -4,7 +4,7 @@ GEM
     addressable (2.8.0)
       public_suffix (>= 2.0.2, < 5.0)
     colorator (1.1.0)
-    concurrent-ruby (1.1.9)
+    concurrent-ruby (1.1.10)
     em-websocket (0.5.3)
       eventmachine (>= 0.12.9)
       http_parser.rb (~> 0)
@@ -12,7 +12,7 @@ GEM
     ffi (1.15.5)
     forwardable-extended (2.6.0)
     http_parser.rb (0.8.0)
-    i18n (1.10.0)
+    i18n (1.12.0)
       concurrent-ruby (~> 1.0)
     jekyll (4.1.1)
       addressable (~> 2.4)
@@ -37,7 +37,7 @@ GEM
       jekyll (>= 3.8, < 5.0)
     jekyll-watch (2.2.1)
       listen (~> 3.0)
-    kramdown (2.3.1)
+    kramdown (2.4.0)
       rexml
     kramdown-parser-gfm (1.1.0)
       kramdown (~> 2.0)
@@ -52,21 +52,21 @@ GEM
       jekyll-seo-tag (~> 2.1)
     pathutil (0.16.2)
       forwardable-extended (~> 2.6)
-    public_suffix (4.0.6)
+    public_suffix (4.0.7)
     rb-fsevent (0.11.1)
     rb-inotify (0.10.1)
       ffi (~> 1.0)
     rexml (3.2.5)
-    rouge (3.28.0)
+    rouge (3.30.0)
     safe_yaml (1.0.5)
     sassc (2.4.0)
       ffi (~> 1.9)
     terminal-table (1.8.0)
       unicode-display_width (~> 1.1, >= 1.1.1)
     thread_safe (0.3.6)
-    tzinfo (1.2.9)
+    tzinfo (1.2.10)
       thread_safe (~> 0.1)
-    tzinfo-data (1.2021.5)
+    tzinfo-data (1.2022.1)
       tzinfo (>= 1.0.0)
     unicode-display_width (1.8.0)
     wdm (0.1.1)
@@ -85,4 +85,4 @@ DEPENDENCIES
   webrick (~> 1.7)
 
 BUNDLED WITH
-   2.3.9
+   2.3.19

+ 13 - 1
_includes/vue-rule-script.html

@@ -83,6 +83,18 @@
                             <span>Module Summary:</span>
                             <textarea v-model="editor.module.summary"></textarea>
                         </label>
+
+                        <label v-if="editor.module.config != 'b'"
+                               class="label">
+                          <span>Config: {{ editor.module.config }}</span>
+                          <table>
+                            <tr v-for="(key, value) in editor.module.config">
+                              <td>{{ key }}</td>
+                              <td><input v-model="{{ value }}" /></td>
+                            </tr>
+                          </table>
+                        </label>
+                        
                         <!-- <div class="label-group">
                             <label class="label">
                                 <span>Module ID:</span>
@@ -255,4 +267,4 @@
     global.rule = {{ page.rule | jsonify }};
 
 </script>
-<script src="/assets/js/vue.rules.js"></script>
+<script src="/assets/js/vue.rules.js"></script>

+ 4 - 1
_modules/approval_voting.md

@@ -2,8 +2,11 @@
 layout: module
 title: Approval voting
 permalink: /modules/approval_voting/
-summary: Voters can approve or deny approval for each option.
 type: decision
+summary: Voters can approve or deny approval for each option.
+config:
+    Approvals: 3
+    Denials: 2
 ---
 
 Approval voting is a form of plurality-majority voting in which each voter either positively or negatively determines all candidates’ aptitude for the job. Rather than only voting for one candidate who would best serve in the role, voters participating in approval voting either give or deny approval for each candidate and may approve as many as they see fit. The candidate with the most approval votes wins.

+ 2 - 2
_modules/initiation.md

@@ -2,6 +2,6 @@
 layout: module
 title: Initiation
 permalink: /modules/initiation/
-summary: A script for how people join the community or a certain part of it.
+summary: A procedure for how people join the community or a certain part of it.
 type: process
----
+---

+ 2 - 2
_modules/stochastic_choice.md → _modules/random_choice.md

@@ -1,7 +1,7 @@
 ---
 layout: module
-title: Stochastic Choice
-permalink: /modules/stochastic_choice/
+title: Random Choice
+permalink: /modules/random_choice/
 summary: A choice among options is made at random.
 type: decision
 ---

+ 6 - 0
assets/js/vue.rules.js

@@ -23,6 +23,7 @@ const app = Vue.createApp({
         name: "",
         lineage: "",
         summary: "",
+        config: "", 
         creator: {
           name: "",
           url: "",
@@ -104,6 +105,7 @@ const app = Vue.createApp({
         name: "",
         icon: "",
         summary: "",
+        config: "",  
         type: "",
         modules: []
       },
@@ -187,6 +189,7 @@ const app = Vue.createApp({
           name: module.name,
           icon: (module.icon && !module.icon.includes('http')) ? global.url + module.icon : module.icon,
           summary: module.summary,
+          config: module.config,  
           type: module.type,
           modules: (module.modules) ? module.modules.map(cleanModules) : [],
         }
@@ -200,6 +203,7 @@ const app = Vue.createApp({
         name: this.rule.name,
         lineage: this.rule.lineage,
         summary: this.rule.summary,
+        config: this.rule.config,
         creator: {
           name: this.rule.creator.name,
           url: this.rule.creator.url,
@@ -482,6 +486,7 @@ const app = Vue.createApp({
           name: rule.name,
           lineage: rule.lineage,
           summary: rule.summary,
+          config: rule.config,  
           creator: {
             name: rule.creatorName,
             url: rule.creatorUrl,
@@ -651,6 +656,7 @@ const app = Vue.createApp({
         name: rule.name,
         lineage: rule.lineage,
         summary: rule.summary,
+        config: this.jsonify(rule.config),
         modules: this.jsonify(rule.modules),
         creatorName: rule.creator.name,
         creatorUrl: rule.creator.url,