parent
39f68f0051
commit
9d0a823351
23 changed files with 1158 additions and 31 deletions
24
README.md
24
README.md
|
|
@ -4,14 +4,16 @@ Local static website files built with Astro.
|
|||
|
||||
## Project Structure
|
||||
|
||||
- `website/` - top-level static pages
|
||||
- `website/` - exported HTML source pages and archive pages
|
||||
- `content/` - extracted Markdown content archive for speeches and blog posts
|
||||
- `src/pages/` - Astro endpoints that generate static HTML from `website/`
|
||||
- `src/components/` - Astro components for the shared layout migration path
|
||||
- `src/content/pages/` - preserved HTML body fragments for migrated public pages
|
||||
- `src/pages/` - Astro routes for migrated public pages plus the static archive catch-all
|
||||
- `src/components/` - Astro components for shared page layout
|
||||
- `dist/` - generated static output from `npm run build`
|
||||
- `website/index.html` - homepage
|
||||
- `website/about.html` - about page
|
||||
- `website/contact.html` - contact page with the form
|
||||
- `src/pages/index.astro` - homepage route generated from migrated content
|
||||
- `src/pages/about.astro` - about page route generated from migrated content
|
||||
- `src/pages/contact.astro` - contact page route generated from migrated content
|
||||
- `website/index.html`, `website/about.html`, `website/contact.html` - original exported source for migrated public pages
|
||||
- `website/blog/YYYY/MM/DD/` - dated blog post pages
|
||||
- `website/blog/categories/` - blog category archive pages
|
||||
- `website/blog/tags/` - blog tag archive pages
|
||||
|
|
@ -43,12 +45,22 @@ Check that the generated site builds successfully:
|
|||
npm run check
|
||||
```
|
||||
|
||||
Run the static link and media audit against the generated `dist/` output:
|
||||
|
||||
```bash
|
||||
npm run audit:links
|
||||
```
|
||||
|
||||
Regenerate Markdown content from the exported post HTML:
|
||||
|
||||
```bash
|
||||
npm run extract:content
|
||||
```
|
||||
|
||||
The important public pages are now Astro routes that reuse shared layout
|
||||
components. The large blog and speech archive is still served from the exported
|
||||
HTML through `src/pages/[...route].ts`.
|
||||
|
||||
The repeated exported inline styles have been moved into `css/theme.css` and
|
||||
`css/site.css`. Tiny one-page WordPress block-support styles may still remain
|
||||
inline when they only apply to a single page.
|
||||
|
|
|
|||
|
|
@ -20,10 +20,12 @@ is kept in `website/`, while Astro emits the served site into `dist/`.
|
|||
- `content/speeches/mrs-hak-ja-han-moon/*.md` - extracted Mrs. Hak Ja Han Moon speeches
|
||||
- `content/blog/<year>/*.md` - extracted non-speech blog content by publish year
|
||||
- `content/README.md` - content archive notes
|
||||
- `src/pages/index.html.ts` - Astro endpoint for the home page
|
||||
- `src/pages/[...route].ts` - Astro endpoint for all other existing HTML pages
|
||||
- `src/lib/static-pages.ts` - maps `website/` files to Astro static routes
|
||||
- `src/components/` - Astro shared layout components for ongoing migration
|
||||
- `src/content/pages/*.html` - preserved body fragments for migrated public pages
|
||||
- `src/pages/index.astro` - Astro home page route
|
||||
- `src/pages/about.astro`, `src/pages/contact.astro`, `src/pages/events.astro`, `src/pages/services.astro`, `src/pages/videos.astro`, `src/pages/the-founders.astro` - migrated public page routes
|
||||
- `src/pages/[...route].ts` - Astro endpoint for the remaining exported HTML archive pages
|
||||
- `src/lib/static-pages.ts` - maps `website/` files to Astro static routes and excludes migrated pages from the catch-all
|
||||
- `src/components/` - Astro shared layout components
|
||||
- `dist/` - generated site output, ignored by git
|
||||
- `css/` - site-level stylesheets
|
||||
- `css/theme.css` - extracted Parabola inline theme settings
|
||||
|
|
@ -41,13 +43,16 @@ is kept in `website/`, while Astro emits the served site into `dist/`.
|
|||
|
||||
## Shared Layout
|
||||
|
||||
The current source pages remain static HTML, but common navigation, sidebar, and
|
||||
footer markup is generated from `scripts/components.mjs`. Run
|
||||
`npm run render:layout` after editing those components.
|
||||
The important public pages now render through Astro components:
|
||||
`src/components/SiteLayout.astro` owns the document shell, header, navigation,
|
||||
and footer, while `src/components/TwoColumnPage.astro` wraps standard
|
||||
content/sidebar pages. Their preserved page bodies live in
|
||||
`src/content/pages/`.
|
||||
|
||||
Astro components in `src/components/` are available for the next migration step:
|
||||
converting individual pages from exported HTML into `.astro` or Markdown content
|
||||
while reusing the same layout structure.
|
||||
The large blog and speech archive remains static exported HTML served through
|
||||
`src/pages/[...route].ts`. Common navigation, sidebar, and footer markup for
|
||||
those exported files is still generated from `scripts/components.mjs`; run
|
||||
`npm run render:layout` after editing those legacy components.
|
||||
|
||||
## Content Archive
|
||||
|
||||
|
|
|
|||
|
|
@ -8,9 +8,10 @@
|
|||
"prepare:source": "npm run organize && npm run clean:wp && npm run render:layout",
|
||||
"dev": "npm run prepare:source && astro dev --host 0.0.0.0",
|
||||
"build": "npm run prepare:source && astro build && node scripts/copy-static-assets.mjs",
|
||||
"audit:links": "node scripts/audit-static-links.mjs",
|
||||
"preview": "astro preview --host 0.0.0.0",
|
||||
"start": "npm run preview",
|
||||
"check": "npm run build"
|
||||
"check": "npm run build && npm run audit:links"
|
||||
},
|
||||
"devDependencies": {
|
||||
"astro": "^6.4.6"
|
||||
|
|
|
|||
202
scripts/audit-static-links.mjs
Normal file
202
scripts/audit-static-links.mjs
Normal file
|
|
@ -0,0 +1,202 @@
|
|||
import fs from "node:fs";
|
||||
import path from "node:path";
|
||||
|
||||
const repoRoot = process.cwd();
|
||||
const distRoot = path.join(repoRoot, "dist");
|
||||
const htmlAttributes = ["href", "src", "poster", "action"];
|
||||
const assetExtensions = new Set([
|
||||
".avif",
|
||||
".css",
|
||||
".gif",
|
||||
".ico",
|
||||
".jpeg",
|
||||
".jpg",
|
||||
".js",
|
||||
".pdf",
|
||||
".png",
|
||||
".svg",
|
||||
".webp",
|
||||
".woff",
|
||||
".woff2",
|
||||
".ttf",
|
||||
".eot",
|
||||
]);
|
||||
const ignoredProtocols = /^[a-z][a-z0-9+.-]*:/i;
|
||||
const htmlAttributePattern = new RegExp(
|
||||
`\\b(${htmlAttributes.join("|")})\\s*=\\s*(["'])(.*?)\\2`,
|
||||
"gis",
|
||||
);
|
||||
const srcsetPattern = /\bsrcset\s*=\s*(["'])(.*?)\1/gis;
|
||||
const cssUrlPattern = /url\(\s*(?:"([^"]*)"|'([^']*)'|([^'")]*))\s*\)/gi;
|
||||
|
||||
if (!fs.existsSync(distRoot)) {
|
||||
console.error("dist/ does not exist. Run `npm run build` before auditing.");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const files = listFiles(distRoot);
|
||||
const htmlFiles = files.filter((file) => file.endsWith(".html"));
|
||||
const cssFiles = files.filter((file) => file.endsWith(".css"));
|
||||
const problems = [];
|
||||
let checked = 0;
|
||||
|
||||
for (const file of htmlFiles) {
|
||||
const content = fs.readFileSync(file, "utf8");
|
||||
|
||||
for (const match of content.matchAll(htmlAttributePattern)) {
|
||||
checked += checkReference({
|
||||
sourceFile: file,
|
||||
rawReference: match[3],
|
||||
sourceKind: match[1].toLowerCase(),
|
||||
});
|
||||
}
|
||||
|
||||
for (const match of content.matchAll(srcsetPattern)) {
|
||||
for (const entry of parseSrcset(match[2])) {
|
||||
checked += checkReference({
|
||||
sourceFile: file,
|
||||
rawReference: entry,
|
||||
sourceKind: "srcset",
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (const file of cssFiles) {
|
||||
const content = fs.readFileSync(file, "utf8");
|
||||
|
||||
for (const match of content.matchAll(cssUrlPattern)) {
|
||||
checked += checkReference({
|
||||
sourceFile: file,
|
||||
rawReference: match[1] ?? match[2] ?? match[3],
|
||||
sourceKind: "css url()",
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (problems.length > 0) {
|
||||
console.error(`Static link/media audit found ${problems.length} problem(s):`);
|
||||
|
||||
for (const problem of problems) {
|
||||
console.error(
|
||||
`- ${path.relative(repoRoot, problem.sourceFile)}: ${problem.sourceKind}="${problem.rawReference}" -> ${problem.reason}`,
|
||||
);
|
||||
}
|
||||
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
console.log(
|
||||
`Static link/media audit passed: checked ${checked} local reference(s) in ${htmlFiles.length} HTML file(s) and ${cssFiles.length} CSS file(s).`,
|
||||
);
|
||||
|
||||
function listFiles(dir) {
|
||||
return fs.readdirSync(dir, { withFileTypes: true }).flatMap((entry) => {
|
||||
const fullPath = path.join(dir, entry.name);
|
||||
return entry.isDirectory() ? listFiles(fullPath) : fullPath;
|
||||
});
|
||||
}
|
||||
|
||||
function checkReference({ sourceFile, rawReference, sourceKind }) {
|
||||
const reference = normalizeReference(rawReference);
|
||||
|
||||
if (!reference) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
const target = resolveTargetPath(sourceFile, reference);
|
||||
|
||||
if (!target) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
const exists = fs.existsSync(target);
|
||||
if (!exists) {
|
||||
problems.push({
|
||||
sourceFile,
|
||||
sourceKind,
|
||||
rawReference,
|
||||
reason: `missing ${describeReference(reference)} at ${path.relative(repoRoot, target)}`,
|
||||
});
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (isHtmlLikeReference(reference) && fs.statSync(target).isFile()) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (fs.statSync(target).isDirectory()) {
|
||||
const indexFile = path.join(target, "index.html");
|
||||
if (!fs.existsSync(indexFile)) {
|
||||
problems.push({
|
||||
sourceFile,
|
||||
sourceKind,
|
||||
rawReference,
|
||||
reason: `directory has no index.html at ${path.relative(repoRoot, target)}`,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
function normalizeReference(rawReference) {
|
||||
if (!rawReference) {
|
||||
return "";
|
||||
}
|
||||
|
||||
const trimmed = rawReference.trim();
|
||||
if (
|
||||
trimmed === "" ||
|
||||
trimmed.startsWith("#") ||
|
||||
trimmed.startsWith("data:") ||
|
||||
trimmed.startsWith("blob:") ||
|
||||
trimmed.startsWith("//") ||
|
||||
trimmed.startsWith("?")
|
||||
) {
|
||||
return "";
|
||||
}
|
||||
|
||||
if (ignoredProtocols.test(trimmed)) {
|
||||
return "";
|
||||
}
|
||||
|
||||
return decodeURI(trimmed.split("#")[0].split("?")[0]);
|
||||
}
|
||||
|
||||
function resolveTargetPath(sourceFile, reference) {
|
||||
if (reference.startsWith("/")) {
|
||||
return path.join(distRoot, reference);
|
||||
}
|
||||
|
||||
return path.resolve(path.dirname(sourceFile), reference);
|
||||
}
|
||||
|
||||
function isHtmlLikeReference(reference) {
|
||||
return path.extname(reference) === "" || reference.endsWith(".html");
|
||||
}
|
||||
|
||||
function describeReference(reference) {
|
||||
const extension = path.extname(reference).toLowerCase();
|
||||
|
||||
if (extension === ".pdf") {
|
||||
return "PDF";
|
||||
}
|
||||
|
||||
if ([".avif", ".gif", ".jpeg", ".jpg", ".png", ".svg", ".webp"].includes(extension)) {
|
||||
return "image";
|
||||
}
|
||||
|
||||
if (assetExtensions.has(extension)) {
|
||||
return "asset";
|
||||
}
|
||||
|
||||
return "internal link";
|
||||
}
|
||||
|
||||
function parseSrcset(value) {
|
||||
return value
|
||||
.split(",")
|
||||
.map((candidate) => candidate.trim().split(/\s+/)[0])
|
||||
.filter(Boolean);
|
||||
}
|
||||
69
src/components/SiteLayout.astro
Normal file
69
src/components/SiteLayout.astro
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
---
|
||||
import SiteFooter from "./SiteFooter.astro";
|
||||
import SiteNav from "./SiteNav.astro";
|
||||
|
||||
const {
|
||||
title,
|
||||
bodyClass,
|
||||
pathname,
|
||||
canonical,
|
||||
parabolaSettings = { masonry: "0", magazine: "0", mobile: "1", fitvids: "1" },
|
||||
} = Astro.props;
|
||||
const parabolaSettingsScript = `var parabola_settings = ${JSON.stringify(parabolaSettings)};`;
|
||||
---
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<slot name="head" />
|
||||
<title set:html={title} />
|
||||
<meta name="robots" content="max-image-preview:large" />
|
||||
<link rel="stylesheet" id="content-blocks-css" href="/css/block-library.css?ver=6.6.5" type="text/css" media="all" />
|
||||
<link rel="stylesheet" id="pdfprnt_frontend-css" href="/assets/vendor/pdf/css/frontend.css?ver=2.4.0" type="text/css" media="all" />
|
||||
<link rel="stylesheet" id="parabola-fonts-css" href="/assets/theme/parabola/fonts/fontfaces.css?ver=2.4.1" type="text/css" media="all" />
|
||||
<link rel="stylesheet" id="parabola-style-css" href="/assets/theme/parabola/style.css?ver=2.4.1" type="text/css" media="all" />
|
||||
<link rel="stylesheet" id="familyfedie-theme-css" href="/css/theme.css" type="text/css" media="all" />
|
||||
<link rel="stylesheet" id="familyfedie-site-css" href="/css/site.css" type="text/css" media="all" />
|
||||
<link rel="stylesheet" id="parabola-mobile-css" href="/assets/theme/parabola/styles/style-mobile.css?ver=2.4.1" type="text/css" media="all" />
|
||||
<script is:inline type="text/javascript" src="/js/jquery.min.js?ver=2.0.2" id="jquery-js"></script>
|
||||
<script is:inline type="text/javascript" id="parabola-frontend-js-extra" set:html={parabolaSettingsScript}></script>
|
||||
<script is:inline type="text/javascript" src="/assets/theme/parabola/js/frontend.js?ver=2.4.1" id="parabola-frontend-js"></script>
|
||||
{canonical && <link rel="canonical" href={canonical} />}
|
||||
</head>
|
||||
<body class={bodyClass}>
|
||||
<div id="toTop"> </div>
|
||||
<div id="wrapper" class="hfeed">
|
||||
<div id="header-full">
|
||||
<header id="header">
|
||||
<div id="masthead">
|
||||
<div id="branding" role="banner">
|
||||
<img id="bg_image" alt="FFWPU Ireland" title="FFWPU Ireland" src="/assets/uploads/2013/10/BannerFamilyFed_23_10c1.jpg" />
|
||||
<div id="header-container">
|
||||
<a href="/index.html" id="linky"></a>
|
||||
</div>
|
||||
<div style="clear:both;"></div>
|
||||
</div>
|
||||
<a id="nav-toggle"><span> </span></a>
|
||||
<SiteNav pathname={pathname} />
|
||||
</div>
|
||||
<div style="clear:both;height:1px;width:1px;"> </div>
|
||||
</header>
|
||||
</div>
|
||||
|
||||
<slot />
|
||||
|
||||
<SiteFooter />
|
||||
</div>
|
||||
|
||||
<script is:inline>
|
||||
(function (body) {
|
||||
"use strict";
|
||||
body.className = body.className.replace(/\btribe-no-js\b/, "tribe-js");
|
||||
})(document.body);
|
||||
</script>
|
||||
<script type="text/javascript">var cryout_global_content_width = 800;</script>
|
||||
<slot name="scripts" />
|
||||
</body>
|
||||
</html>
|
||||
20
src/components/TwoColumnPage.astro
Normal file
20
src/components/TwoColumnPage.astro
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
import SiteSidebar from "./SiteSidebar.astro";
|
||||
|
||||
const { articleHtml } = Astro.props;
|
||||
---
|
||||
|
||||
<div id="main">
|
||||
<div id="forbottom">
|
||||
<div style="clear:both;"> </div>
|
||||
|
||||
<section id="container" class="two-columns-right">
|
||||
<div id="content" role="main">
|
||||
<Fragment set:html={articleHtml} />
|
||||
</div>
|
||||
<SiteSidebar />
|
||||
</section>
|
||||
|
||||
<div style="clear:both;"></div>
|
||||
</div>
|
||||
</div>
|
||||
22
src/content/pages/about.html
Normal file
22
src/content/pages/about.html
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<div id="post-29" class="post-29 page type-page status-publish hentry">
|
||||
<h1 class="entry-title">About Us</h1>
|
||||
|
||||
<div class="entry-content">
|
||||
<p>The Family Federation for World Peace and Unification (Family Fed, or FFWPU) is an international religious organization started by Rev. Sun Myung Moon. Originally called the Holy Spirit Association for the Unification of World Christianity (HSA-UWC), the name was changed in 1994 to reflect the changing nature of our activities.</p>
|
||||
<p>Commonly known as the Unification Church, FFWPU is committed to creating God-centered families based on our central teachings, summed up in the Exposition of the Divine Principle and the various speeches and talks given by Rev. Sun Myung Moon and his wife, Rev. Hak Ja Han. Our focus is on strengthening families and resolving conflict, from the individual to the international level.</p>
|
||||
<h3 dir="ltr"><b>Short Introduction to the Divine Principle</b></h3>
|
||||
<p dir="ltr">Is religion necessary? Yes.</p>
|
||||
<p dir="ltr">Do the established religions need to make necessary adjustments according to human development? Yes.</p>
|
||||
<p dir="ltr">It is simple.</p>
|
||||
<p><b>Science</b> itself deals with the tangible, measurable, physical reality. It deals with the limited world of matter in a testable, logical manner. The how questions. Studying science leads to enlightenment about, and mastery of, the material world.</p>
|
||||
<p><b>Religion</b> deals with the intangible elements of life such as purpose, meaning, and value. It deals with the world of the ultimate. The why questions. Pursuit of religion leads to enlightenment about, and mastery of, the world of the mind and spirit.</p>
|
||||
<p>The <b>human being</b> has to cope with both realities, the tangible and the intangible. The limited and the ultimate. The body and the mind. The how and the why.</p>
|
||||
<p>Here is where a combination of the two, a<b> logical yet ultimate</b> system or Truth needs to be presented.</p>
|
||||
<h5>For this, check out the <b>Divine Principle</b>, the teachings of Rev. Sun Myung Moon.</h5>
|
||||
<p><a href="http://www.unification.net/dp96/dp96-1-1.html#Chap1" target="_blank" rel="noopener">The Principle of Creation</a> – Here is its presentation on the being of <b>God, </b>the process of creation and the purpose of life.</p>
|
||||
<p dir="ltr"><a href="http://www.unification.net/dp96/dp96-1-2.html#Chap2" target="_blank" rel="noopener">The Human Fall</a> – Here is its presentation of the <b>human condition</b>, a contradictory state that desires both good and evil.</p>
|
||||
<p>For the full DP online, visit <a href="http://www.unification.net/dp96/" target="_blank" rel="noopener">Exposition of the Divine Principle</a></p>
|
||||
<p>Given, this presentation is bible based and primarily geared toward a Christian audience. But the underlying truth it suggests, beyond the biblical references, is solid and deserves to be considered.</p>
|
||||
<h3>Click <a href="/speeches/index.html">here</a> to see speeches by Rev. Dr. Sun Myung Moon.</h3>
|
||||
</div><!-- .entry-content -->
|
||||
</div><!-- #post-## -->
|
||||
13
src/content/pages/contact.html
Normal file
13
src/content/pages/contact.html
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<div id="post-63" class="post-63 page type-page status-publish hentry">
|
||||
<h1 class="entry-title">Contact</h1>
|
||||
|
||||
<div class="entry-content">
|
||||
<p>We’re conveniently located in Dublin City Centre, directly across from the James Joyce Center. Feel free to drop by anytime, since most days someone is around to offer you a cup of tea and a friendly chat about our beliefs.</p>
|
||||
<p>Our address is:</p>
|
||||
<p><strong>19 North Great Georges St.</strong><br /><strong> Dublin 1, Ireland</strong></p>
|
||||
<p>Feel free to email us any questions you may have or to book an appointment to hear our lecture series of the Divine Principle or to organize a religious event at our church center: <a href="mailto:info@unification.ie">info@unification.ie</a></p>
|
||||
|
||||
|
||||
<p><a class="button" href="mailto:info@unification.ie">Email us</a></p>
|
||||
</div><!-- .entry-content -->
|
||||
</div><!-- #post-## -->
|
||||
465
src/content/pages/events.html
Normal file
465
src/content/pages/events.html
Normal file
File diff suppressed because one or more lines are too long
100
src/content/pages/index.html
Normal file
100
src/content/pages/index.html
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
<div id="main">
|
||||
<div id="forbottom" >
|
||||
|
||||
<div style="clear:both;"> </div>
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(document).ready(function() {
|
||||
// Slider creation
|
||||
jQuery('#slider').nivoSlider({
|
||||
effect: 'slideInLeft',
|
||||
animSpeed: 750,
|
||||
directionNavHide: false, beforeChange: function(){
|
||||
//jQuery('.nivo-caption').slideUp(300);
|
||||
|
||||
},
|
||||
afterChange: function(){
|
||||
//jQuery('.nivo-caption').slideDown(500);
|
||||
},
|
||||
|
||||
|
||||
pauseTime: 5000 });
|
||||
});
|
||||
</script>
|
||||
<div id="frontpage">
|
||||
<div class="slider-wrapper theme-default slider-numbers">
|
||||
<div class="ribbon"></div>
|
||||
<div id="slider" class="nivoSlider">
|
||||
<a href='/the-founders.html'>
|
||||
<img src='/assets/uploads/2013/10/TrueParentsSlider.jpg' alt="" />
|
||||
</a> <a href='/about-us-organizations.html'>
|
||||
<img src='/assets/uploads/2013/10/Little-Angels-Presentationlight1.jpg' alt="The Little Angels" title="#caption1" />
|
||||
</a> <a href='/the-founders.html'>
|
||||
<img src='/assets/uploads/2013/10/father-Seung-Hwa_Presentation.jpg' alt="Rev. Sun Myung Moon" title="#caption2" />
|
||||
</a> </div>
|
||||
<div id="caption0" class="nivo-html-caption">
|
||||
<h3></h3><div class="slide-text"></div>
|
||||
</div>
|
||||
<div id="caption1" class="nivo-html-caption">
|
||||
<h3>The Little Angels</h3><div class="slide-text"></div>
|
||||
</div>
|
||||
<div id="caption2" class="nivo-html-caption">
|
||||
<h3>Rev. Sun Myung Moon</h3><div class="slide-text"></div>
|
||||
</div>
|
||||
</div> <div id="front-columns">
|
||||
|
||||
<div class="ppcolumn column1" id="column1">
|
||||
<a href="/the-founders.html" >
|
||||
<div class="column-image">
|
||||
<img src="/assets/uploads/2013/10/True_Parents.jpg" id="columnImage1" alt="Founders of FFWPU International" />
|
||||
<h3 class='column-header-image'>Founders of FFWPU International</h3>
|
||||
</div>
|
||||
</a> <!-- link -->
|
||||
|
||||
|
||||
<div class="column-text"> Find out more about the life of the founders of the Family Federation for World Peace - Rev. Dr. Sun Myung Moon and Dr. Hak Ja Han Moon <div class="columnmore">
|
||||
<a href="/the-founders.html" >Read more »</a>
|
||||
</div>
|
||||
</div> <!-- column-text-->
|
||||
|
||||
</div> <!-- column -->
|
||||
|
||||
|
||||
|
||||
<div class="ppcolumn column2" id="column2">
|
||||
<a href="/videos.html" >
|
||||
<div class="column-image">
|
||||
<img src="/assets/uploads/2013/10/DP-Screenshot.jpg" id="columnImage2" alt="The Divine Principle and Other teachings." />
|
||||
<h3 class='column-header-image'>The Divine Principle and Other teachings.</h3>
|
||||
</div>
|
||||
</a> <!-- link -->
|
||||
|
||||
|
||||
<div class="column-text"> The Divine Principle is the FFWPU's main teaching. Watch a presentation video and find more about our teachings. <div class="columnmore">
|
||||
<a href="/videos.html" >Read more »</a>
|
||||
</div>
|
||||
</div> <!-- column-text-->
|
||||
|
||||
</div> <!-- column -->
|
||||
|
||||
|
||||
|
||||
<div class="ppcolumn column3" id="column3">
|
||||
<a href="/about-us-organizations.html" >
|
||||
<div class="column-image">
|
||||
<img src="/assets/uploads/2013/10/UPF-Prayer-Evening.jpg" id="columnImage3" alt="Activities and Organizations" />
|
||||
<h3 class='column-header-image'>Activities and Organizations</h3>
|
||||
</div>
|
||||
</a> <!-- link -->
|
||||
|
||||
|
||||
<div class="column-text"> Discover all the partnering organizations and paths for culture and peace - that include sports, dance, art, UPF, FFWPU, IRFF, WFWPU <div class="columnmore">
|
||||
<a href="/about-us-organizations.html" >Read more »</a>
|
||||
</div>
|
||||
</div> <!-- column-text-->
|
||||
|
||||
</div> <!-- column -->
|
||||
|
||||
</div> </div> <!-- frontpage --> <div style="clear:both;"></div>
|
||||
</div> <!-- #forbottom -->
|
||||
</div><!-- #main -->
|
||||
22
src/content/pages/services.html
Normal file
22
src/content/pages/services.html
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<div id="post-33" class="post-33 page type-page status-publish hentry">
|
||||
<h1 class="entry-title">Sunday Services</h1>
|
||||
|
||||
<div class="entry-content">
|
||||
<p> </p>
|
||||
<p> </p>
|
||||
<p>Every Sunday we have video uploads of our Sunday Service at 11am. You can watch it below.</p>
|
||||
<p><strong>Previous Sunday Services in 2019</strong></p>
|
||||
<p>March 3, 2019 <a href="https://youtu.be/oXO_dP4UiOM" target="_blank" rel="noopener">“Our Way Will Prevail”</a> (Ely)</p>
|
||||
<p>February 24, 2019 <a href="https://www.youtube.com/watch?v=M318vZlTuG0" target="_blank" rel="noopener">“Testimony from Korea”</a> (John)</p>
|
||||
<p>February 3, 2019 <a href="https://www.youtube.com/watch?v=sxu4tRD90Us" target="_blank" rel="noopener">“Mission Impossible”</a> (Ely)</p>
|
||||
<p><strong>Archived Sunday Services:</strong></p>
|
||||
<p><a href="/archive-sunday-services-2018.html">2018 Sunday Services Archive</a></p>
|
||||
<p><a href="/archive-sunday-services-2017.html">2017 Sunday Services Archive</a></p>
|
||||
<p><a href="/archive-sunday-services-2016.html">2016 Sunday Services Archive</a></p>
|
||||
<p><a title="2015 Sunday Services Archive" href="/archive-sunday-services-2015.html">2015 Sunday Services Archive</a></p>
|
||||
<p><a title="2014 Sunday Services" href="/archive-sunday-services-2014.html">2014 Sunday Services</a></p>
|
||||
<p><a href="/archive-sunday-services-2013.html">2013 Sunday Servic</a><a href="/archive-sunday-services-2013.html">es</a></p>
|
||||
<p> </p>
|
||||
<p> </p>
|
||||
</div><!-- .entry-content -->
|
||||
</div><!-- #post-## -->
|
||||
13
src/content/pages/the-founders.html
Normal file
13
src/content/pages/the-founders.html
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<div id="post-71" class="post-71 page type-page status-publish hentry">
|
||||
<h1 class="entry-title">The Founders</h1>
|
||||
|
||||
<div class="entry-content">
|
||||
<p>Sun Myung Moon and his wife Hak Ja Han Moon are considered by their followers to be the True Parents of humankind. This title is a new concept in human history, referring to the belief that God is a Parent, encompassing equally masculine and feminine characteristics, and that as a Parent he loves all people as his children. God is the original True Parent, and throughout history he has been searching for a couple to manifest this love physically on the earth, and then raise up and educate all people to become true parents, embodying God’s love in all their relationships. This was God’s original ideal at the time of creating Adam and Eve, and his fervent wish was for them to become the first True Parents of history. Their failure to do so was a tragedy that broke God’s heart and led to our current world of suffering. Rev. and Mrs. Moon have dedicated their lives to teaching and practicing a lifestyle of ‘<strong>living for the sake of others</strong>‘ as the way to create ‘<strong>one family under God</strong>‘.</p>
|
||||
<p>Here is an interview Rev. Moon did with Al Capp in 1972.</p>
|
||||
<p>(In the first video, the sound comes on at the 25 second mark)</p>
|
||||
<div class="su-column su-column-size-1-3"><div class="su-column-inner su-u-clearfix su-u-trim"><iframe src="//www.youtube.com/embed/HNyCNSynrUs" width="420" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe><br />
|
||||
</div></div>
|
||||
<div class="su-column su-column-size-1-3"><div class="su-column-inner su-u-clearfix su-u-trim"><iframe src="//www.youtube.com/embed/BpBusg5ymuw" width="420" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe><br />
|
||||
</div></div>
|
||||
</div><!-- .entry-content -->
|
||||
</div><!-- #post-## -->
|
||||
48
src/content/pages/videos.html
Normal file
48
src/content/pages/videos.html
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
<div id="post-44" class="post-44 page type-page status-publish hentry">
|
||||
<h1 class="entry-title">Videos</h1>
|
||||
|
||||
<div class="entry-content">
|
||||
|
||||
<p>Browse our video playlist for some educational videos on the Divine Principle (the core teachings of the FFWPU) and some “feel-good” inspirational videos.</p>
|
||||
|
||||
|
||||
|
||||
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
|
||||
<iframe title="Faith and Family" width="800" height="600" src="https://www.youtube.com/embed/zsUv8vbGNKk?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
|
||||
</div></figure>
|
||||
|
||||
|
||||
|
||||
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
|
||||
<iframe title="Take a Minute" width="800" height="450" src="https://www.youtube.com/embed/cp-hDwOBudE?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
|
||||
</div></figure>
|
||||
|
||||
|
||||
|
||||
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
|
||||
<iframe title="Rev Moon Interview 1974" width="800" height="450" src="https://www.youtube.com/embed/GiCYKJc_VwI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
|
||||
</div></figure>
|
||||
|
||||
|
||||
|
||||
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
|
||||
<iframe loading="lazy" title="dplife - Our Culture" width="800" height="450" src="https://www.youtube.com/embed/pPiW7zEd0J8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
|
||||
</div></figure>
|
||||
|
||||
|
||||
|
||||
<h5 class="wp-block-heading">For a written version of the <strong>Divine Principle</strong>, check out the following:</h5>
|
||||
|
||||
|
||||
|
||||
<p><a href="http://www.unification.net/dp96/dp96-1-1.html#Chap1" target="_blank" rel="noreferrer noopener">The Principle of Creation</a> – About the being we call <strong>God, </strong>the process of creation, and the purpose of life.</p>
|
||||
|
||||
|
||||
|
||||
<p><a href="http://www.unification.net/dp96/dp96-1-2.html#Chap2" target="_blank" rel="noreferrer noopener">The Human Fall</a> – Understand the <strong>human condition </strong>on a deeper level, a contradictory state that desires both good and evil.</p>
|
||||
|
||||
|
||||
|
||||
<p>For the full DP online, visit <a href="http://www.unification.net/dp96/" target="_blank" rel="noreferrer noopener">Exposition of the Divine Principle</a></p>
|
||||
</div><!-- .entry-content -->
|
||||
</div><!-- #post-## -->
|
||||
|
|
@ -3,6 +3,15 @@ import path from "node:path";
|
|||
|
||||
export const repoRoot = process.cwd();
|
||||
export const websiteRoot = path.join(repoRoot, "website");
|
||||
export const migratedHtmlPages = new Set([
|
||||
"about.html",
|
||||
"contact.html",
|
||||
"events.html",
|
||||
"index.html",
|
||||
"services.html",
|
||||
"the-founders.html",
|
||||
"videos.html",
|
||||
]);
|
||||
|
||||
export function walkHtmlFiles(dir = websiteRoot): string[] {
|
||||
return fs.readdirSync(dir, { withFileTypes: true }).flatMap((entry) => {
|
||||
|
|
@ -26,6 +35,10 @@ export function routeFromRelativePath(relativePath: string): string {
|
|||
return relativePath;
|
||||
}
|
||||
|
||||
export function isMigratedHtmlPage(relativePath: string): boolean {
|
||||
return migratedHtmlPages.has(relativePath);
|
||||
}
|
||||
|
||||
export function sourcePathFromRoute(route = ""): string {
|
||||
const relativePath = route === "" ? "index.html" : route.endsWith(".html") ? route : `${route}/index.html`;
|
||||
return path.join(websiteRoot, relativePath);
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
import fs from "node:fs/promises";
|
||||
import { relativeWebsitePath, routeFromRelativePath, sourcePathFromRoute, walkHtmlFiles } from "../lib/static-pages";
|
||||
import { isMigratedHtmlPage, relativeWebsitePath, routeFromRelativePath, sourcePathFromRoute, walkHtmlFiles } from "../lib/static-pages";
|
||||
|
||||
export function getStaticPaths() {
|
||||
return walkHtmlFiles()
|
||||
.map(relativeWebsitePath)
|
||||
.filter((relativePath) => relativePath !== "index.html")
|
||||
.filter((relativePath) => !isMigratedHtmlPage(relativePath))
|
||||
.map((relativePath) => ({
|
||||
params: {
|
||||
route: routeFromRelativePath(relativePath),
|
||||
|
|
|
|||
13
src/pages/about.astro
Normal file
13
src/pages/about.astro
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
import SiteLayout from "../components/SiteLayout.astro";
|
||||
import TwoColumnPage from "../components/TwoColumnPage.astro";
|
||||
import articleHtml from "../content/pages/about.html?raw";
|
||||
---
|
||||
|
||||
<SiteLayout
|
||||
title="About Us – FFWPU Ireland"
|
||||
bodyClass="page-template page-template-templates page-template-template-twocolumns-right page-template-templatestemplate-twocolumns-right-php page page-id-29 page-parent custom-background tribe-no-js metaslider-plugin parabola-image-three caption-light meta-light parabola_triagles parabola-menu-left"
|
||||
pathname="/about.html"
|
||||
>
|
||||
<TwoColumnPage articleHtml={articleHtml} />
|
||||
</SiteLayout>
|
||||
14
src/pages/contact.astro
Normal file
14
src/pages/contact.astro
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
import SiteLayout from "../components/SiteLayout.astro";
|
||||
import TwoColumnPage from "../components/TwoColumnPage.astro";
|
||||
import articleHtml from "../content/pages/contact.html?raw";
|
||||
---
|
||||
|
||||
<SiteLayout
|
||||
title="Contact – FFWPU Ireland"
|
||||
bodyClass="page-template-default page page-id-63 custom-background tribe-no-js metaslider-plugin parabola-image-three caption-light meta-light parabola_triagles parabola-menu-left"
|
||||
pathname="/contact.html"
|
||||
canonical="/contact.html"
|
||||
>
|
||||
<TwoColumnPage articleHtml={articleHtml} />
|
||||
</SiteLayout>
|
||||
49
src/pages/events.astro
Normal file
49
src/pages/events.astro
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
---
|
||||
import SiteLayout from "../components/SiteLayout.astro";
|
||||
import mainHtml from "../content/pages/events.html?raw";
|
||||
---
|
||||
|
||||
<SiteLayout
|
||||
title="Upcoming Events – FFWPU Ireland"
|
||||
bodyClass="archive post-type-archive post-type-archive-tribe_events custom-background tribe-events-page-template tribe-no-js tribe-filter-live metaslider-plugin parabola-image-three caption-light meta-light parabola_triagles parabola-menu-left"
|
||||
pathname="/events.html"
|
||||
>
|
||||
<Fragment slot="head">
|
||||
<script is:inline>
|
||||
document.head.insertAdjacentHTML("beforeend", '<meta name="robots" id="tec_noindex" content="noindex, follow" />');
|
||||
</script>
|
||||
<link rel="stylesheet" id="tec-variables-skeleton-css" href="/assets/vendor/events-calendar/common/src/resources/css/variables-skeleton.min.css?ver=6.3.2" type="text/css" media="all" />
|
||||
<link rel="stylesheet" id="tec-variables-full-css" href="/assets/vendor/events-calendar/common/src/resources/css/variables-full.min.css?ver=6.3.2" type="text/css" media="all" />
|
||||
<link rel="stylesheet" id="tribe-common-skeleton-style-css" href="/assets/vendor/events-calendar/common/src/resources/css/common-skeleton.min.css?ver=6.3.2" type="text/css" media="all" />
|
||||
<link rel="stylesheet" id="tribe-common-full-style-css" href="/assets/vendor/events-calendar/common/src/resources/css/common-full.min.css?ver=6.3.2" type="text/css" media="all" />
|
||||
<link rel="stylesheet" id="tribe-events-views-v2-bootstrap-datepicker-styles-css" href="/assets/vendor/events-calendar/vendor/bootstrap-datepicker/css/bootstrap-datepicker.standalone.min.css?ver=6.8.2.1" type="text/css" media="all" />
|
||||
<link rel="stylesheet" id="tribe-tooltipster-css-css" href="/assets/vendor/events-calendar/common/vendor/tooltipster/tooltipster.bundle.min.css?ver=6.3.2" type="text/css" media="all" />
|
||||
<link rel="stylesheet" id="tribe-events-views-v2-skeleton-css" href="/assets/vendor/events-calendar/src/resources/css/views-skeleton.min.css?ver=6.8.2.1" type="text/css" media="all" />
|
||||
<link rel="stylesheet" id="tribe-events-views-v2-full-css" href="/assets/vendor/events-calendar/src/resources/css/views-full.min.css?ver=6.8.2.1" type="text/css" media="all" />
|
||||
<link rel="stylesheet" id="tribe-events-views-v2-print-css" href="/assets/vendor/events-calendar/src/resources/css/views-print.min.css?ver=6.8.2.1" type="text/css" media="print" />
|
||||
<script is:inline type="text/javascript" src="/assets/vendor/events-calendar/common/src/resources/js/tribe-common.min.js?ver=6.3.2" id="tribe-common-js"></script>
|
||||
<script is:inline type="text/javascript" src="/assets/vendor/events-calendar/src/resources/js/views/breakpoints.min.js?ver=6.8.2.1" id="tribe-events-views-v2-breakpoints-js"></script>
|
||||
</Fragment>
|
||||
<Fragment set:html={mainHtml} />
|
||||
<Fragment slot="scripts">
|
||||
<script is:inline type="text/javascript" src="/assets/vendor/events-calendar/src/resources/js/views/viewport.min.js?ver=6.8.2.1" id="tribe-events-views-v2-viewport-js"></script>
|
||||
<script is:inline type="text/javascript" src="/assets/vendor/events-calendar/src/resources/js/views/accordion.min.js?ver=6.8.2.1" id="tribe-events-views-v2-accordion-js"></script>
|
||||
<script is:inline type="text/javascript" src="/assets/vendor/events-calendar/src/resources/js/views/view-selector.min.js?ver=6.8.2.1" id="tribe-events-views-v2-view-selector-js"></script>
|
||||
<script is:inline type="text/javascript" src="/assets/vendor/events-calendar/vendor/bootstrap-datepicker/js/bootstrap-datepicker.min.js?ver=6.8.2.1" id="tribe-events-views-v2-bootstrap-datepicker-js"></script>
|
||||
<script is:inline type="text/javascript" src="/assets/vendor/events-calendar/src/resources/js/views/datepicker.min.js?ver=6.8.2.1" id="tribe-events-views-v2-datepicker-js"></script>
|
||||
<script is:inline type="text/javascript" src="/assets/vendor/events-calendar/src/resources/js/views/ical-links.min.js?ver=6.8.2.1" id="tribe-events-views-v2-ical-links-js"></script>
|
||||
<script is:inline type="text/javascript" src="/assets/vendor/events-calendar/src/resources/js/views/events-bar-inputs.min.js?ver=6.8.2.1" id="tribe-events-views-v2-events-bar-inputs-js"></script>
|
||||
<script is:inline type="text/javascript" src="/assets/vendor/events-calendar/src/resources/js/views/events-bar.min.js?ver=6.8.2.1" id="tribe-events-views-v2-events-bar-js"></script>
|
||||
<script is:inline type="text/javascript" src="/assets/vendor/events-calendar/common/vendor/tooltipster/tooltipster.bundle.min.js?ver=6.3.2" id="tribe-tooltipster-js"></script>
|
||||
<script is:inline type="text/javascript" src="/assets/vendor/events-calendar/src/resources/js/views/tooltip.min.js?ver=6.8.2.1" id="tribe-events-views-v2-tooltip-js"></script>
|
||||
<script is:inline type="text/javascript" src="/assets/vendor/events-calendar/src/resources/js/views/navigation-scroll.min.js?ver=6.8.2.1" id="tribe-events-views-v2-navigation-scroll-js"></script>
|
||||
<script is:inline type="text/javascript" src="/assets/vendor/events-calendar/src/resources/js/views/multiday-events.min.js?ver=6.8.2.1" id="tribe-events-views-v2-multiday-events-js"></script>
|
||||
<script is:inline type="text/javascript" src="/assets/vendor/events-calendar/src/resources/js/views/month-mobile-events.min.js?ver=6.8.2.1" id="tribe-events-views-v2-month-mobile-events-js"></script>
|
||||
<script is:inline type="text/javascript" src="/assets/vendor/events-calendar/src/resources/js/views/month-grid.min.js?ver=6.8.2.1" id="tribe-events-views-v2-month-grid-js"></script>
|
||||
<script is:inline type="text/javascript" src="/assets/vendor/events-calendar/common/src/resources/js/utils/query-string.min.js?ver=6.3.2" id="tribe-query-string-js"></script>
|
||||
<script is:inline src="/assets/vendor/events-calendar/common/src/resources/js/underscore-before.js"></script>
|
||||
<script is:inline type="text/javascript" src="/assets/vendor/underscore.min.js?ver=1.13.4" id="underscore-js"></script>
|
||||
<script is:inline src="/assets/vendor/events-calendar/common/src/resources/js/underscore-after.js"></script>
|
||||
<script is:inline defer type="text/javascript" src="/assets/vendor/events-calendar/src/resources/js/views/manager.min.js?ver=6.8.2.1" id="tribe-events-views-v2-manager-js"></script>
|
||||
</Fragment>
|
||||
</SiteLayout>
|
||||
18
src/pages/index.astro
Normal file
18
src/pages/index.astro
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
import SiteLayout from "../components/SiteLayout.astro";
|
||||
import mainHtml from "../content/pages/index.html?raw";
|
||||
---
|
||||
|
||||
<SiteLayout
|
||||
title="FFWPU Ireland – Official website of FFWPU Ireland"
|
||||
bodyClass="home blog custom-background tribe-no-js metaslider-plugin parabola-image-three caption-light meta-light parabola_triagles magazine-layout parabola-menu-left"
|
||||
pathname="/index.html"
|
||||
parabolaSettings={{ masonry: "1", magazine: "1", mobile: "1", fitvids: "1" }}
|
||||
>
|
||||
<script is:inline slot="head" type="text/javascript" src="/assets/theme/parabola/js/nivo-slider.js?ver=2.4.1" id="parabola-nivoSlider-js"></script>
|
||||
<Fragment set:html={mainHtml} />
|
||||
<Fragment slot="scripts">
|
||||
<script is:inline type="text/javascript" src="/assets/vendor/imagesloaded.min.js?ver=5.0.0" id="imagesloaded-js"></script>
|
||||
<script is:inline type="text/javascript" src="/assets/vendor/masonry.min.js?ver=4.2.2" id="masonry-js"></script>
|
||||
</Fragment>
|
||||
</SiteLayout>
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
import fs from "node:fs/promises";
|
||||
import { sourcePathFromRoute } from "../lib/static-pages";
|
||||
|
||||
export async function GET() {
|
||||
const html = await fs.readFile(sourcePathFromRoute(), "utf8");
|
||||
|
||||
return new Response(html, {
|
||||
headers: {
|
||||
"content-type": "text/html; charset=utf-8",
|
||||
},
|
||||
});
|
||||
}
|
||||
13
src/pages/services.astro
Normal file
13
src/pages/services.astro
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
import SiteLayout from "../components/SiteLayout.astro";
|
||||
import TwoColumnPage from "../components/TwoColumnPage.astro";
|
||||
import articleHtml from "../content/pages/services.html?raw";
|
||||
---
|
||||
|
||||
<SiteLayout
|
||||
title="Sunday Services – FFWPU Ireland"
|
||||
bodyClass="page-template-default page page-id-33 custom-background tribe-no-js metaslider-plugin parabola-image-three caption-light meta-light parabola_triagles parabola-menu-left"
|
||||
pathname="/services.html"
|
||||
>
|
||||
<TwoColumnPage articleHtml={articleHtml} />
|
||||
</SiteLayout>
|
||||
14
src/pages/the-founders.astro
Normal file
14
src/pages/the-founders.astro
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
import SiteLayout from "../components/SiteLayout.astro";
|
||||
import TwoColumnPage from "../components/TwoColumnPage.astro";
|
||||
import articleHtml from "../content/pages/the-founders.html?raw";
|
||||
---
|
||||
|
||||
<SiteLayout
|
||||
title="The Founders – FFWPU Ireland"
|
||||
bodyClass="page-template-default page page-id-71 custom-background tribe-no-js metaslider-plugin parabola-image-three caption-light meta-light parabola_triagles parabola-menu-left"
|
||||
pathname="/the-founders.html"
|
||||
>
|
||||
<link slot="head" rel="stylesheet" id="su-shortcodes-css" href="/assets/vendor/shortcodes/includes/css/shortcodes.css?ver=7.3.1" type="text/css" media="all" />
|
||||
<TwoColumnPage articleHtml={articleHtml} />
|
||||
</SiteLayout>
|
||||
13
src/pages/videos.astro
Normal file
13
src/pages/videos.astro
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
import SiteLayout from "../components/SiteLayout.astro";
|
||||
import TwoColumnPage from "../components/TwoColumnPage.astro";
|
||||
import articleHtml from "../content/pages/videos.html?raw";
|
||||
---
|
||||
|
||||
<SiteLayout
|
||||
title="Videos – FFWPU Ireland"
|
||||
bodyClass="page-template-default page page-id-44 custom-background tribe-no-js metaslider-plugin parabola-image-three caption-light meta-light parabola_triagles parabola-menu-left"
|
||||
pathname="/videos.html"
|
||||
>
|
||||
<TwoColumnPage articleHtml={articleHtml} />
|
||||
</SiteLayout>
|
||||
Loading…
Add table
Add a link
Reference in a new issue