Browse Source

Add listing of directories from the writing folder.

Lee Morgan 5 years ago
parent
commit
d8eec382f4
4 changed files with 31 additions and 32 deletions
  1. 9 2
      controllers/travel.js
  2. 19 17
      controllers/writing.js
  3. 1 1
      htmlCreator.js
  4. 2 12
      views/main/index.html

+ 9 - 2
controllers/travel.js

@@ -22,11 +22,18 @@ module.exports = {
             return currentObject;
         }
 
-        let result = searchDir(`${__dirname}/content`, {
+        let result = searchDir(`${__dirname}/../content`, {
             contents: []
         });
 
-        return res.json(result.contents[0].contents);
+        let array = [];
+        for(let i = 0; i < result.contents.length; i++){
+            if(result.contents[i].name === "travel"){
+                array = result.contents[i].contents;
+                break;
+            }
+        }
+        return res.json(array);
     },
 
     getImages: function(req, res){

+ 19 - 17
controllers/writing.js

@@ -4,31 +4,33 @@ const fs = require("fs");
 
 module.exports = {
     listDirectories: function(req, res){
-        const searchDir = function(path, currentObject){
-            let response = fs.readdirSync(path);
+        const searchDir = (dir, array)=>{
+            let contents = fs.readdirSync(dir);
 
-            for(let i = 0; i < response.length; i++){
-                if(response[i].includes(".") === false){
-                    let newPath = `${path}/${response[i]}`;
-                    let newObject = ({
-                        name: response[i].replace(/-/g, " "),
-                        path: newPath.substring(newPath.indexOf("/writing") + 7, newPath.length),
+            for(let i = 0; i < contents.length; i++){
+                if(contents[i].includes(".") === false){
+                    let obj = {
+                        name: contents[i],
                         contents: []
-                    });
-
-                    currentObject.contents.push(newObject);
-                    searchDir(newPath, newObject);
+                    };
+                    array.push(obj);
+                    return searchDir(`${dir}/${contents[i]}`, obj.contents);
                 }
             }
 
-            return currentObject;
+            let meta = fs.readFileSync(`${dir}/meta.txt`).toString().split("\n");
+            array.push({
+                title: meta[0],
+                route: dir.substring(dir.indexOf("/content/writing/") + 8),
+                img: `${dir}/mainImage.jpg`
+            });
+            return array;
         }
 
-        let result = searchDir(`${__dirname}/content`, {
-            contents: []
-        });
+        let directoryDescription = [];
+        searchDir(`${__dirname}/../content/writing`, directoryDescription);
 
-        return res.json(result.contents[0].contents);
+        return res.json(directoryDescription);
     },
 
     /*

+ 1 - 1
htmlCreator.js

@@ -65,7 +65,7 @@ module.exports = (app)=>{
                     <script src="/writing/code"></script>
                 </body>
             </html>
-        `
+        `;
 
         fs.writeFileSync(`${dir}/article.html`, html);
     }

+ 2 - 12
views/main/index.html

@@ -93,17 +93,7 @@
                 <h1>Ya, Ya, I'm working on it...</h1>
             </div>
 
-            <div id="writing" class="cardContainer" style="display:none;">
-                <a class="card" href="/writing/touchscreens">
-                    <h2>Touchscreens, An Essay</h2>
-                    <img src="/images/touchscreen" alt="touchscreen">
-                </a>
-
-                <a class="card" href="/writing/tablets">
-                    <h2>Tablets Are a Stupid Idea</h2>
-                    <img src="/images/tablet" alt="tablet">
-                </a>
-            </div>
+            <div id="writing" class="cardContainer" style="display:none;"></div>
 
             <div id="links" class="cardContainer" style="display:none;">
                 <a class="card" href="https://cs-online.club/en/servers">
@@ -189,7 +179,7 @@
             fetch("/writing/directories")
                 .then(response => response.json())
                 .then((response)=>{
-                    //do things
+                    console.log(response);
                 })
                 .catch((err)=>{});