diff --git a/index.js b/index.js
index 1523c56..7bcef5c 100644
--- a/index.js
+++ b/index.js
@@ -21,8 +21,18 @@ const websites = require("./routes/apa/websites");
const youTube = require("./routes/apa/youTube");
const movies = require("./routes/apa/movies");
+const youtube = require("./routes/apa/youtube");
+const television = require("./routes/apa/television");
+const episode = require("./routes/apa/episode");
+const journal = require("./routes/apa/journal");
+const speech = require("./routes/apa/speech");
+const SpecialIssueAPA = require("./routes/apa/issue");
+const section = require("./routes/apa/section");
+const software = require("./routes/apa/software");
+const video = require("./routes/apa/video");
+
// == MLA (format) ==
-const booksMLA = require("./routes/mla/books")
+const booksMLA = require("./routes/mla/books");
const journMagNews = require("./routes/mla/journMagNews");
// === APP ===
@@ -50,6 +60,17 @@ app.use("/api/apa/websites", websites);
app.use("/api/apa/youtube", youTube);
app.use("/api/apa/movies", movies);
+
+app.use("/api/apa/you-tube", youtube);
+app.use("/api/apa/television", television);
+app.use("/api/apa/episode", episode);
+app.use("/api/apa/journal", journal);
+app.use("/api/apa/speech", speech);
+app.use("/api/apa/issue", SpecialIssueAPA);
+app.use("/api/apa/section", section);
+app.use("/api/apa/software", software);
+app.use("/api/apa/video", video);
+
// == MLA (format) ==
app.use("/api/mla/books", booksMLA);
app.use("/api/mla/journal-magazine-newspaper", journMagNews);
diff --git a/routes/apa/episode.js b/routes/apa/episode.js
new file mode 100644
index 0000000..8d17168
--- /dev/null
+++ b/routes/apa/episode.js
@@ -0,0 +1,12 @@
+const express = require("express");
+const router = express.Router();
+const { citeEpisode } = require("../../utils/apa/citing/episodeAPA.js");
+
+router.post("/", (req, res) => {
+ const data = req.body;
+ const result = citeEpisode(data);
+
+ res.send(result);
+});
+
+module.exports = router;
diff --git a/routes/apa/issue.js b/routes/apa/issue.js
new file mode 100644
index 0000000..731e14c
--- /dev/null
+++ b/routes/apa/issue.js
@@ -0,0 +1,12 @@
+const express = require("express");
+const router = express.Router();
+const { citeSpecial } = require("../../utils/apa/citing/SpecialIssueAPA.js");
+
+router.post("/", (req, res) => {
+ const data = req.body;
+ const result = citeSpecial(data);
+
+ res.send(result);
+});
+
+module.exports = router;
diff --git a/routes/apa/journal.js b/routes/apa/journal.js
new file mode 100644
index 0000000..65f7e1f
--- /dev/null
+++ b/routes/apa/journal.js
@@ -0,0 +1,12 @@
+const express = require("express");
+const router = express.Router();
+const { citeJournal } = require("../../utils/apa/citing/journalAPA.js");
+
+router.post("/", (req, res) => {
+ const data = req.body;
+ const result = citeJournal(data);
+
+ res.send(result);
+});
+
+module.exports = router;
diff --git a/routes/apa/section.js b/routes/apa/section.js
new file mode 100644
index 0000000..58e9dcf
--- /dev/null
+++ b/routes/apa/section.js
@@ -0,0 +1,12 @@
+const express = require("express");
+const router = express.Router();
+const { citeSection } = require("../../utils/apa/citing/sectionAPA.js");
+
+router.post("/", (req, res) => {
+ const data = req.body;
+ const result = citeSection(data);
+
+ res.send(result);
+});
+
+module.exports = router;
diff --git a/routes/apa/software.js b/routes/apa/software.js
new file mode 100644
index 0000000..28b7777
--- /dev/null
+++ b/routes/apa/software.js
@@ -0,0 +1,12 @@
+const express = require("express");
+const router = express.Router();
+const { citeSoftware } = require("../../utils/apa/citing/softwareAPA.js");
+
+router.post("/", (req, res) => {
+ const data = req.body;
+ const result = citeSoftware(data);
+
+ res.send(result);
+});
+
+module.exports = router;
diff --git a/routes/apa/speech.js b/routes/apa/speech.js
new file mode 100644
index 0000000..197a7c9
--- /dev/null
+++ b/routes/apa/speech.js
@@ -0,0 +1,12 @@
+const express = require("express");
+const router = express.Router();
+const { citeSpeech } = require("../../utils/apa/citing/speechAPA.js");
+
+router.post("/", (req, res) => {
+ const data = req.body;
+ const result = citeSpeech(data);
+
+ res.send(result);
+});
+
+module.exports = router;
diff --git a/routes/apa/television.js b/routes/apa/television.js
new file mode 100644
index 0000000..3fa7114
--- /dev/null
+++ b/routes/apa/television.js
@@ -0,0 +1,12 @@
+const express = require("express");
+const router = express.Router();
+const { citeTelevision } = require("../../utils/apa/citing/televisionAPA.js");
+
+router.post("/", (req, res) => {
+ const data = req.body;
+ const result = citeTelevision(data);
+
+ res.send(result);
+});
+
+module.exports = router;
diff --git a/routes/apa/video.js b/routes/apa/video.js
new file mode 100644
index 0000000..649a7e6
--- /dev/null
+++ b/routes/apa/video.js
@@ -0,0 +1,12 @@
+const express = require("express");
+const router = express.Router();
+const { citeVideo} = require("../../utils/apa/citing/videoAPA.js");
+
+router.post("/", (req, res) => {
+ const data = req.body;
+ const result = citeVideo(data);
+
+ res.send(result);
+});
+
+module.exports = router;
diff --git a/routes/apa/yt.js b/routes/apa/yt.js
new file mode 100644
index 0000000..6838425
--- /dev/null
+++ b/routes/apa/yt.js
@@ -0,0 +1,12 @@
+const express = require("express");
+const router = express.Router();
+const { citeYoutube } = require("../../utils/apa/citing/youtubeAPA.js");
+
+router.post("/", (req, res) => {
+ const data = req.body;
+ const result = citeYoutube(data);
+
+ res.send(result);
+});
+
+module.exports = router;
diff --git a/utils/apa/citing/SpecialIssue.js b/utils/apa/citing/SpecialIssueAPA.js
similarity index 76%
rename from utils/apa/citing/SpecialIssue.js
rename to utils/apa/citing/SpecialIssueAPA.js
index 853fb9c..5f0aacd 100644
--- a/utils/apa/citing/SpecialIssue.js
+++ b/utils/apa/citing/SpecialIssueAPA.js
@@ -4,7 +4,7 @@ const { getFormattedAuthors } = require("../helper/authors");
const citeSpecial = ({ author, date, title, producer }) => {
const formattedAuthors = getFormattedAuthors (author);
const formattedDate = getFormattedDate(date);
- const referenceCitation = `${formattedAuthors} ${formattedDate} ${title} [Speacial Issue]. ${producer}`;
+ const referenceCitation = `${formattedAuthors} (Eds.). ${formattedDate} ${title} [Speacial Issue]. ${producer}`;
return referenceCitation;
};
@@ -28,4 +28,5 @@ data = {
producer: "International Journal of Memes",
};
-console.log(citeSpecial(data));
\ No newline at end of file
+//console.log(citeSpecial(data));
+module.exports = { citeSpecial };
\ No newline at end of file
diff --git a/utils/apa/citing/episodeAPA.js b/utils/apa/citing/episodeAPA.js
new file mode 100644
index 0000000..fa5fc27
--- /dev/null
+++ b/utils/apa/citing/episodeAPA.js
@@ -0,0 +1,35 @@
+const { getFormattedAuthors } = require("../helper/authors");
+
+const citeEpisode = ({ author, year, title, producer, company }) => {
+ const formattedAuthors = getFormattedAuthors (author);
+ const formattedYear = year ? year : `n.d.`
+ const referenceCitation = `${formattedAuthors}. (${formattedYear}).
+ ${title} (Season 4, Episode 17) [TV series episode]. ${producer} (Executive producer) ${company}`;
+
+ return referenceCitation;
+};
+
+
+data = {
+ author: [
+ {
+ firstName: "D.",
+ middleInitial: "",
+ lastName: "Egan",
+ role: "Writer",
+ },
+ {
+ firstName: "J.",
+ middleInitial: "",
+ lastName: "Alexander",
+ role: "Director",
+ },
+ ],
+ year: "2005",
+ title: "Failure to communicate",
+ producer: "In D. Shore",
+ company: "Fox Broadcasting",
+};
+
+//console.log(citeEpisode(data));
+module.exports = { citeEpisode };
\ No newline at end of file
diff --git a/utils/apa/citing/journalAPA.js b/utils/apa/citing/journalAPA.js
new file mode 100644
index 0000000..39136d2
--- /dev/null
+++ b/utils/apa/citing/journalAPA.js
@@ -0,0 +1,32 @@
+const { getFormattedAuthors } = require("../helper/authors");
+
+const citeJournal = ({ author, year, title, titlecase, page }) => {
+ const formattedAuthors = getFormattedAuthors (author);
+ const formattedYear = year ? year : `n.d.`
+ const referenceCitation = `${formattedAuthors}. (${formattedYear}). ${title} . ${titlecase}, 42(Suppl. 2), ${page}.`;
+
+ return referenceCitation;
+};
+
+
+data = {
+ author: [
+ {
+ firstName: "D.",
+ middleInitial: "",
+ lastName: "Vahey",
+ },
+ {
+ firstName: "L.",
+ middleInitial: "",
+ lastName: "Aiken",
+ },
+ ],
+ year: "2004",
+ title: "Nurse burnout and patient satisfaction",
+ titlecase: "Medical Care",
+ page: "57-66",
+};
+
+//console.log(citeJournal(data));
+module.exports = { citeJournal };
\ No newline at end of file
diff --git a/utils/apa/citing/movieAPA.js b/utils/apa/citing/movieAPA.js
index 8dfd1cb..40c71cc 100644
--- a/utils/apa/citing/movieAPA.js
+++ b/utils/apa/citing/movieAPA.js
@@ -9,25 +9,25 @@ const citeMovie = ({ author, year, title, company }) => {
};
-// data = {
-// author: [
-// {
-// firstName: "F.",
-// middleInitial: "",
-// lastName: "Davidson",
-// role: "Producer",
-// },
-// {
-// firstName: "J.",
-// middleInitial: "",
-// lastName: "Davidson",
-// role: "Director",
-// },
-// ],
-// year: "2000",
-// title: "B. F. Skinner: A fresh appraisal",
-// company: "USA: Davidson Films",
-// };
+data = {
+ author: [
+ {
+ firstName: "F.",
+ middleInitial: "",
+ lastName: "Davidson",
+ role: "Producer",
+ },
+ {
+ firstName: "J.",
+ middleInitial: "",
+ lastName: "Davidson",
+ role: "Director",
+ },
+ ],
+ year: "2000",
+ title: "B. F. Skinner: A fresh appraisal",
+ company: "USA: Davidson Films",
+};
-// console.log(citeMovie(data));
+console.log(citeMovie(data));
module.exports = { citeMovie };
\ No newline at end of file
diff --git a/utils/apa/citing/sectionAPA.js b/utils/apa/citing/sectionAPA.js
new file mode 100644
index 0000000..721d877
--- /dev/null
+++ b/utils/apa/citing/sectionAPA.js
@@ -0,0 +1,31 @@
+const { getFormattedAuthors } = require("../helper/authors");
+
+const citeSection = ({ author, year, title, producer }) => {
+ const formattedAuthors = getFormattedAuthors (author);
+ const formattedYear = year ? year : `n.d.`
+ const referenceCitation = `${formattedAuthors} (Eds.). ${formattedYear} ${title} [Special section]. ${producer}, 32(2), 415–565.`;
+
+ return referenceCitation;
+};
+
+
+data = {
+ author: [
+ {
+ firstName: "L.",
+ middleInitial: "",
+ lastName: "Jenkins",
+ },
+ {
+ firstName: "R .",
+ middleInitial: "",
+ lastName: "Astley",
+ },
+ ],
+ year: "2012",
+ title: "Beyond the LOLcats: Maru, Nyan Cat, and more",
+ producer: "International Journal of Memes",
+};
+
+console.log(citeSection(data));
+module.exports = { citeSection };
\ No newline at end of file
diff --git a/utils/apa/citing/softwareAPA.js b/utils/apa/citing/softwareAPA.js
new file mode 100644
index 0000000..b3fc16e
--- /dev/null
+++ b/utils/apa/citing/softwareAPA.js
@@ -0,0 +1,27 @@
+const { getFormattedAuthors } = require("../helper/authors");
+
+const citeSoftware = ({ author, year, title, place, producer }) => {
+ const formattedAuthors = getFormattedAuthors (author);
+ const formattedYear = year ? year : `n.d.`
+ const referenceCitation = `${formattedAuthors} ${formattedYear} ${title} [Computer software]. ${place}, ${producer}`;
+
+ return referenceCitation;
+};
+
+
+data = {
+ author: [
+ {
+ firstName: "A.",
+ middleInitial: "N.",
+ lastName: "Esolang",
+ },
+ ],
+ year: "2014",
+ title: "Obscure Reference Generator",
+ place: "Washington",
+ producer: "DC: E & K Press",
+};
+
+//console.log(citeSoftware(data));
+module.exports = { citeSoftware };
\ No newline at end of file
diff --git a/utils/apa/citing/speechAPA.js b/utils/apa/citing/speechAPA.js
index aad1456..767c6f5 100644
--- a/utils/apa/citing/speechAPA.js
+++ b/utils/apa/citing/speechAPA.js
@@ -4,7 +4,7 @@ const { getFormattedAuthors } = require("../helper/authors");
const citeSpeech = ({ author, date, title, place, publisher }) => {
const formattedAuthors = getFormattedAuthors (author);
const formattedDate = getFormattedDate(date);
- const referenceCitation = `${formattedAuthors} (Ed.). ${formattedDate} ${title}. ${place}, ${publisher}`;
+ const referenceCitation = `${formattedAuthors} (Ed.). ${formattedDate} ${title}. ${place}, ${publisher}.`;
return referenceCitation;
};
@@ -21,7 +21,8 @@ data = {
date: new Date(2010),
title: "Well said! Great speeches in American history",
place: "Washington",
- publisher: "http://www.youtube.com/watch?v=6nyGCbxD848",
+ publisher: "DC: E & K Publishing",
};
-console.log(citeSpeech(data));
\ No newline at end of file
+//console.log(citeSpeech(data));
+module.exports = { citeSpeech };
\ No newline at end of file
diff --git a/utils/apa/citing/televisionAPA.js b/utils/apa/citing/televisionAPA.js
index be6857e..d1183c4 100644
--- a/utils/apa/citing/televisionAPA.js
+++ b/utils/apa/citing/televisionAPA.js
@@ -18,9 +18,10 @@ data = {
lastName: "Smith",
},
],
- date: new Date(2000, 8, 19),
+ date: new Date(1999, 8, 19),
title: "Every day News",
publisher: "West Broadcasting",
};
-console.log(citeTelevision(data));
\ No newline at end of file
+//console.log(citeTelevision(data));
+module.exports = { citeTelevision };
\ No newline at end of file
diff --git a/utils/apa/citing/videoAPA.js b/utils/apa/citing/videoAPA.js
new file mode 100644
index 0000000..5f1df4f
--- /dev/null
+++ b/utils/apa/citing/videoAPA.js
@@ -0,0 +1,19 @@
+
+const citeVideo = ({ studio, year, title, place, company }) => {
+ const formattedYear = year ? year : `n.d.`
+ const referenceCitation = `${studio} ${title} [Video game]. ${formattedYear} ${place}, ${company}`;
+
+ return referenceCitation;
+};
+
+
+data = {
+ studio: "Bethesda Game Studios",
+ year: "2011",
+ title: "Skyrim",
+ place: "Bethesda",
+ company: "Bethesda Softworks",
+};
+
+//console.log(citeVideo(data));
+module.exports = { citeVideo };
\ No newline at end of file
diff --git a/utils/apa/citing/youtubeAPA.js b/utils/apa/citing/youtubeAPA.js
new file mode 100644
index 0000000..6d64ba7
--- /dev/null
+++ b/utils/apa/citing/youtubeAPA.js
@@ -0,0 +1,27 @@
+const { getFormattedDate } = require("../helper/dates");
+const { getFormattedAuthors } = require("../helper/authors");
+
+const citeYoutube = ({ author, date, title, url }) => {
+ const formattedAuthors = getFormattedAuthors (author);
+ const formattedDate = getFormattedDate(date);
+ const referenceCitation = `${formattedAuthors} ${formattedDate} ${title} [Video]. ${url}`;
+
+ return referenceCitation;
+};
+
+
+data = {
+ author: [
+ {
+ firstName: " ",
+ middleInitial: " ",
+ lastName: "Bellofolletti",
+ },
+ ],
+ date: new Date(2009, 3, 8),
+ title: "Ghost caught on surveillance camera",
+ url: "http://www.youtube.com/watch?v=Dq1ms2JhYBI&feature=related",
+};
+
+//console.log(citeYoutube(data));
+module.exports = { citeYoutube };
\ No newline at end of file
diff --git a/utils/apa/citing/ytAPA.js b/utils/apa/citing/ytAPA.js
index 730f644..00f0813 100644
--- a/utils/apa/citing/ytAPA.js
+++ b/utils/apa/citing/ytAPA.js
@@ -10,18 +10,18 @@ const citeYouTube = ({ author, date, title, url }) => {
};
-// //data = {
-// // author: [
-// // {
-// // firstName: "M.",
-// // middleInitial: "",
-// lastName: "Apsolon",
-// },
-// ],
-// date: new Date(2011, 8, 9),
-// title: "Real ghost girl caught on Video Tape 14",
-// url: "http://www.youtube.com/watch?v=6nyGCbxD848",
-// };
+data = {
+ author: [
+ {
+ firstName: "M.",
+ middleInitial: "",
+ lastName: "Apsolon",
+ },
+ ],
+ date: new Date(2011, 8, 9),
+ title: "Real ghost girl caught on Video Tape 14",
+ url: "http://www.youtube.com/watch?v=6nyGCbxD848",
+};
-// console.log(citeYouTube(data));
+console.log(citeYouTube(data));
module.exports = { citeYouTube };
\ No newline at end of file