This repository was archived by the owner on Jan 12, 2026. It is now read-only.

Latest commit

History

332 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

NEFAC Website

Code4Community is developing a new, modern website for the New England First Amendment Coalition (NEFAC). The code for the website is stored and managed in this repository.

Warning

The Setup and File Structure seconds are outdated because the project has been refactored to use Next.js and Faust.js. New documentation will be written soon.

Setup

This project requires you to have NodeJS and NPM installed.

git clone https://github.com/Code-4-Community/nefac/
cd nefac/nefac-website
npm install
npm run dev

File Structure

  • nefac-website/ - The website code. This folder is structured as a NPM project and a React app.
    • public/ - Location for static resources and media
      • icons/
      • images/
      • videos/
    • src/ - The app code
      • app/ - Code which defines tangible parts of the UI (components and pages)
        • components/
          • Generic components are kept in the root of this directory.
          • Page-specific components are defined under subfolders for each page
          • ui/ - Prewritten components from ShadCN (installed from CLI)
        • pages/
          • Subfolders are defined for each page, each subfolder containing a page.tsx
        • page.tsx - The homepage
      • lib/ - Code which does not define any tangible part of the site and is used elsewhere in the codebase
      • Various top-level project files
  • llm-dev/ - Scrapped chatbot-related code (now taken over by our friends at Build UMass)
    • scraper/ - A scraper written to extract plain text content from all pages on the existing site. See llm-dev/scraper/README.md for details.

Contributing

  1. When assigned a ticket, please create a new branch to work on it.
  2. Create a pull request from your branch to main when you are done.
    • Be descriptive and be sure to mention any issues/bugs with your code.
    • If applicable, include screenshots of your code's output as well (i.e., if you implemented a component, attach a screenshot of that component shown on the page).
  3. The TL will eventually review and either suggest changes or approve your PR and it will be merged into main.

About

A new, modern website for the New England First Amendment Coalition.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
This repository was archived by the owner on Jan 12, 2026. It is now read-only.

Latest commit

History

332 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

NEFAC Website

Code4Community is developing a new, modern website for the New England First Amendment Coalition (NEFAC). The code for the website is stored and managed in this repository.

Warning

The Setup and File Structure seconds are outdated because the project has been refactored to use Next.js and Faust.js. New documentation will be written soon.

Setup

This project requires you to have NodeJS and NPM installed.

git clone https://github.com/Code-4-Community/nefac/
cd nefac/nefac-website
npm install
npm run dev

File Structure

  • nefac-website/ - The website code. This folder is structured as a NPM project and a React app.
    • public/ - Location for static resources and media
      • icons/
      • images/
      • videos/
    • src/ - The app code
      • app/ - Code which defines tangible parts of the UI (components and pages)
        • components/
          • Generic components are kept in the root of this directory.
          • Page-specific components are defined under subfolders for each page
          • ui/ - Prewritten components from ShadCN (installed from CLI)
        • pages/
          • Subfolders are defined for each page, each subfolder containing a page.tsx
        • page.tsx - The homepage
      • lib/ - Code which does not define any tangible part of the site and is used elsewhere in the codebase
      • Various top-level project files
  • llm-dev/ - Scrapped chatbot-related code (now taken over by our friends at Build UMass)
    • scraper/ - A scraper written to extract plain text content from all pages on the existing site. See llm-dev/scraper/README.md for details.

Contributing

  1. When assigned a ticket, please create a new branch to work on it.
  2. Create a pull request from your branch to main when you are done.
    • Be descriptive and be sure to mention any issues/bugs with your code.
    • If applicable, include screenshots of your code's output as well (i.e., if you implemented a component, attach a screenshot of that component shown on the page).
  3. The TL will eventually review and either suggest changes or approve your PR and it will be merged into main.

About

A new, modern website for the New England First Amendment Coalition.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Jan 12, 2026. It is now read-only.

Latest commit

History

332 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

NEFAC Website

Code4Community is developing a new, modern website for the New England First Amendment Coalition (NEFAC). The code for the website is stored and managed in this repository.

Warning

The Setup and File Structure seconds are outdated because the project has been refactored to use Next.js and Faust.js. New documentation will be written soon.

Setup

This project requires you to have NodeJS and NPM installed.

git clone https://github.com/Code-4-Community/nefac/
cd nefac/nefac-website
npm install
npm run dev

File Structure

  • nefac-website/ - The website code. This folder is structured as a NPM project and a React app.
    • public/ - Location for static resources and media
      • icons/
      • images/
      • videos/
    • src/ - The app code
      • app/ - Code which defines tangible parts of the UI (components and pages)
        • components/
          • Generic components are kept in the root of this directory.
          • Page-specific components are defined under subfolders for each page
          • ui/ - Prewritten components from ShadCN (installed from CLI)
        • pages/
          • Subfolders are defined for each page, each subfolder containing a page.tsx
        • page.tsx - The homepage
      • lib/ - Code which does not define any tangible part of the site and is used elsewhere in the codebase
      • Various top-level project files
  • llm-dev/ - Scrapped chatbot-related code (now taken over by our friends at Build UMass)
    • scraper/ - A scraper written to extract plain text content from all pages on the existing site. See llm-dev/scraper/README.md for details.

Contributing

  1. When assigned a ticket, please create a new branch to work on it.
  2. Create a pull request from your branch to main when you are done.
    • Be descriptive and be sure to mention any issues/bugs with your code.
    • If applicable, include screenshots of your code's output as well (i.e., if you implemented a component, attach a screenshot of that component shown on the page).
  3. The TL will eventually review and either suggest changes or approve your PR and it will be merged into main.

About

A new, modern website for the New England First Amendment Coalition.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Jan 12, 2026. It is now read-only.

Latest commit

History

332 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

NEFAC Website

Code4Community is developing a new, modern website for the New England First Amendment Coalition (NEFAC). The code for the website is stored and managed in this repository.

Warning

The Setup and File Structure seconds are outdated because the project has been refactored to use Next.js and Faust.js. New documentation will be written soon.

Setup

This project requires you to have NodeJS and NPM installed.

git clone https://github.com/Code-4-Community/nefac/
cd nefac/nefac-website
npm install
npm run dev

File Structure

  • nefac-website/ - The website code. This folder is structured as a NPM project and a React app.
    • public/ - Location for static resources and media
      • icons/
      • images/
      • videos/
    • src/ - The app code
      • app/ - Code which defines tangible parts of the UI (components and pages)
        • components/
          • Generic components are kept in the root of this directory.
          • Page-specific components are defined under subfolders for each page
          • ui/ - Prewritten components from ShadCN (installed from CLI)
        • pages/
          • Subfolders are defined for each page, each subfolder containing a page.tsx
        • page.tsx - The homepage
      • lib/ - Code which does not define any tangible part of the site and is used elsewhere in the codebase
      • Various top-level project files
  • llm-dev/ - Scrapped chatbot-related code (now taken over by our friends at Build UMass)
    • scraper/ - A scraper written to extract plain text content from all pages on the existing site. See llm-dev/scraper/README.md for details.

Contributing

  1. When assigned a ticket, please create a new branch to work on it.
  2. Create a pull request from your branch to main when you are done.
    • Be descriptive and be sure to mention any issues/bugs with your code.
    • If applicable, include screenshots of your code's output as well (i.e., if you implemented a component, attach a screenshot of that component shown on the page).
  3. The TL will eventually review and either suggest changes or approve your PR and it will be merged into main.

About

A new, modern website for the New England First Amendment Coalition.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
This repository was archived by the owner on Jan 12, 2026. It is now read-only.

Latest commit

History

332 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

NEFAC Website

Code4Community is developing a new, modern website for the New England First Amendment Coalition (NEFAC). The code for the website is stored and managed in this repository.

Warning

The Setup and File Structure seconds are outdated because the project has been refactored to use Next.js and Faust.js. New documentation will be written soon.

Setup

This project requires you to have NodeJS and NPM installed.

git clone https://github.com/Code-4-Community/nefac/
cd nefac/nefac-website
npm install
npm run dev

File Structure

  • nefac-website/ - The website code. This folder is structured as a NPM project and a React app.
    • public/ - Location for static resources and media
      • icons/
      • images/
      • videos/
    • src/ - The app code
      • app/ - Code which defines tangible parts of the UI (components and pages)
        • components/
          • Generic components are kept in the root of this directory.
          • Page-specific components are defined under subfolders for each page
          • ui/ - Prewritten components from ShadCN (installed from CLI)
        • pages/
          • Subfolders are defined for each page, each subfolder containing a page.tsx
        • page.tsx - The homepage
      • lib/ - Code which does not define any tangible part of the site and is used elsewhere in the codebase
      • Various top-level project files
  • llm-dev/ - Scrapped chatbot-related code (now taken over by our friends at Build UMass)
    • scraper/ - A scraper written to extract plain text content from all pages on the existing site. See llm-dev/scraper/README.md for details.

Contributing

  1. When assigned a ticket, please create a new branch to work on it.
  2. Create a pull request from your branch to main when you are done.
    • Be descriptive and be sure to mention any issues/bugs with your code.
    • If applicable, include screenshots of your code's output as well (i.e., if you implemented a component, attach a screenshot of that component shown on the page).
  3. The TL will eventually review and either suggest changes or approve your PR and it will be merged into main.

About

A new, modern website for the New England First Amendment Coalition.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Jan 12, 2026. It is now read-only.

Latest commit

History

332 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

NEFAC Website

Code4Community is developing a new, modern website for the New England First Amendment Coalition (NEFAC). The code for the website is stored and managed in this repository.

Warning

The Setup and File Structure seconds are outdated because the project has been refactored to use Next.js and Faust.js. New documentation will be written soon.

Setup

This project requires you to have NodeJS and NPM installed.

git clone https://github.com/Code-4-Community/nefac/
cd nefac/nefac-website
npm install
npm run dev

File Structure

  • nefac-website/ - The website code. This folder is structured as a NPM project and a React app.
    • public/ - Location for static resources and media
      • icons/
      • images/
      • videos/
    • src/ - The app code
      • app/ - Code which defines tangible parts of the UI (components and pages)
        • components/
          • Generic components are kept in the root of this directory.
          • Page-specific components are defined under subfolders for each page
          • ui/ - Prewritten components from ShadCN (installed from CLI)
        • pages/
          • Subfolders are defined for each page, each subfolder containing a page.tsx
        • page.tsx - The homepage
      • lib/ - Code which does not define any tangible part of the site and is used elsewhere in the codebase
      • Various top-level project files
  • llm-dev/ - Scrapped chatbot-related code (now taken over by our friends at Build UMass)
    • scraper/ - A scraper written to extract plain text content from all pages on the existing site. See llm-dev/scraper/README.md for details.

Contributing

  1. When assigned a ticket, please create a new branch to work on it.
  2. Create a pull request from your branch to main when you are done.
    • Be descriptive and be sure to mention any issues/bugs with your code.
    • If applicable, include screenshots of your code's output as well (i.e., if you implemented a component, attach a screenshot of that component shown on the page).
  3. The TL will eventually review and either suggest changes or approve your PR and it will be merged into main.

About

A new, modern website for the New England First Amendment Coalition.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Jan 12, 2026. It is now read-only.

Latest commit

History

332 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

NEFAC Website

Code4Community is developing a new, modern website for the New England First Amendment Coalition (NEFAC). The code for the website is stored and managed in this repository.

Warning

The Setup and File Structure seconds are outdated because the project has been refactored to use Next.js and Faust.js. New documentation will be written soon.

Setup

This project requires you to have NodeJS and NPM installed.

git clone https://github.com/Code-4-Community/nefac/
cd nefac/nefac-website
npm install
npm run dev

File Structure

  • nefac-website/ - The website code. This folder is structured as a NPM project and a React app.
    • public/ - Location for static resources and media
      • icons/
      • images/
      • videos/
    • src/ - The app code
      • app/ - Code which defines tangible parts of the UI (components and pages)
        • components/
          • Generic components are kept in the root of this directory.
          • Page-specific components are defined under subfolders for each page
          • ui/ - Prewritten components from ShadCN (installed from CLI)
        • pages/
          • Subfolders are defined for each page, each subfolder containing a page.tsx
        • page.tsx - The homepage
      • lib/ - Code which does not define any tangible part of the site and is used elsewhere in the codebase
      • Various top-level project files
  • llm-dev/ - Scrapped chatbot-related code (now taken over by our friends at Build UMass)
    • scraper/ - A scraper written to extract plain text content from all pages on the existing site. See llm-dev/scraper/README.md for details.

Contributing

  1. When assigned a ticket, please create a new branch to work on it.
  2. Create a pull request from your branch to main when you are done.
    • Be descriptive and be sure to mention any issues/bugs with your code.
    • If applicable, include screenshots of your code's output as well (i.e., if you implemented a component, attach a screenshot of that component shown on the page).
  3. The TL will eventually review and either suggest changes or approve your PR and it will be merged into main.

About

A new, modern website for the New England First Amendment Coalition.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
This repository was archived by the owner on Jan 12, 2026. It is now read-only.

Latest commit

History

332 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

NEFAC Website

Code4Community is developing a new, modern website for the New England First Amendment Coalition (NEFAC). The code for the website is stored and managed in this repository.

Warning

The Setup and File Structure seconds are outdated because the project has been refactored to use Next.js and Faust.js. New documentation will be written soon.

Setup

This project requires you to have NodeJS and NPM installed.

git clone https://github.com/Code-4-Community/nefac/
cd nefac/nefac-website
npm install
npm run dev

File Structure

  • nefac-website/ - The website code. This folder is structured as a NPM project and a React app.
    • public/ - Location for static resources and media
      • icons/
      • images/
      • videos/
    • src/ - The app code
      • app/ - Code which defines tangible parts of the UI (components and pages)
        • components/
          • Generic components are kept in the root of this directory.
          • Page-specific components are defined under subfolders for each page
          • ui/ - Prewritten components from ShadCN (installed from CLI)
        • pages/
          • Subfolders are defined for each page, each subfolder containing a page.tsx
        • page.tsx - The homepage
      • lib/ - Code which does not define any tangible part of the site and is used elsewhere in the codebase
      • Various top-level project files
  • llm-dev/ - Scrapped chatbot-related code (now taken over by our friends at Build UMass)
    • scraper/ - A scraper written to extract plain text content from all pages on the existing site. See llm-dev/scraper/README.md for details.

Contributing

  1. When assigned a ticket, please create a new branch to work on it.
  2. Create a pull request from your branch to main when you are done.
    • Be descriptive and be sure to mention any issues/bugs with your code.
    • If applicable, include screenshots of your code's output as well (i.e., if you implemented a component, attach a screenshot of that component shown on the page).
  3. The TL will eventually review and either suggest changes or approve your PR and it will be merged into main.

About

A new, modern website for the New England First Amendment Coalition.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages