rss-bridge/For_Developers/Folder_structure.html

197 lines
14 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html class="no-js" lang="en">
<head>
<title>Folder structure - RSS-Bridge</title>
<meta name="description" content="The RSS feed for websites missing it">
<meta name="author" content="RSS-Bridge Contributors">
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="icon" href="../themes/daux/img/favicon-blue.png" type="image/x-icon">
<!-- Mobile -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- JS -->
<script>
window.base_url = "../";
document.documentElement.classList.remove('no-js');
</script>
<!-- Font -->
<!-- CSS -->
<link href='../themes/daux/css/theme-blue.min.css' rel='stylesheet' type='text/css'>
<link href='../daux_libraries/search.css' rel='stylesheet' type='text/css'>
</head>
<body class="">
<div class="Columns content">
<aside class="Columns__left Collapsible">
<button type="button" class="Button Collapsible__trigger" aria-controls="sidebar_content" aria-expanded="false" aria-label="Toggle navigation">
<span class="Collapsible__trigger__bar"></span>
<span class="Collapsible__trigger__bar"></span>
<span class="Collapsible__trigger__bar"></span>
</button>
<a class="Brand" href="../index.html">RSS-Bridge</a>
<form role='search' action="/" method="get" class="Search" id="search_form">
<label for="search_input">
<span class='u-visuallyHidden'>Search</span>
</label>
<input
type="search"
id="search_input"
class="Search__field"
placeholder="Search..."
aria-label="Search..."
autocomplete="on"
results=25
autosave=text_search
>
<label>
<input type="submit" class='u-visuallyHidden' />
<span class='u-visuallyHidden'>Search...</span>
<svg class="Search__icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 451 451">
<path d="M447.05 428l-109.6-109.6c29.4-33.8 47.2-77.9 47.2-126.1C384.65 86.2 298.35 0 192.35 0 86.25 0 .05 86.3.05 192.3s86.3 192.3 192.3 192.3c48.2 0 92.3-17.8 126.1-47.2L428.05 447c2.6 2.6 6.1 4 9.5 4s6.9-1.3 9.5-4c5.2-5.2 5.2-13.8 0-19zM26.95 192.3c0-91.2 74.2-165.3 165.3-165.3 91.2 0 165.3 74.2 165.3 165.3s-74.1 165.4-165.3 165.4c-91.1 0-165.3-74.2-165.3-165.4z"/>
</svg>
</label>
</form>
<div class="Collapsible__content" id="sidebar_content">
<!-- Navigation -->
<ul class='Nav'><li class='Nav__item has-children'><a href="../General/Project_goals.html" class="Nav__item__link"><i class="Nav__arrow">&nbsp;</i>General</a><ul class='Nav'><li class='Nav__item '><a href="../General/Project_goals.html">Project-goals</a></li><li class='Nav__item '><a href="../General/Contribute.html">Contribute</a></li><li class='Nav__item '><a href="../General/Requirements.html">Requirements</a></li><li class='Nav__item '><a href="../General/Screenshots.html">Screenshots</a></li><li class='Nav__item '><a href="../General/FAQ.html">FAQ</a></li><li class='Nav__item '><a href="../General/Public_Hosts.html">Public Hosts</a></li></ul></li><li class='Nav__item '><a href="../CLI/index.html" class="Nav__item__link"><i class="Nav__arrow">&nbsp;</i>CLI</a><ul class='Nav'></ul></li><li class='Nav__item has-children'><a href="../For_Hosts/index.html" class="Nav__item__link"><i class="Nav__arrow">&nbsp;</i>For Hosts</a><ul class='Nav'><li class='Nav__item '><a href="../For_Hosts/Installation.html">Installation</a></li><li class='Nav__item '><a href="../For_Hosts/Updating.html">Updating</a></li><li class='Nav__item '><a href="../For_Hosts/Heroku_Installation.html">Heroku Installation</a></li><li class='Nav__item '><a href="../For_Hosts/Whitelisting.html">Whitelisting</a></li><li class='Nav__item '><a href="../For_Hosts/Authentication.html">Authentication</a></li><li class='Nav__item '><a href="../For_Hosts/Customizations.html">Customizations</a></li><li class='Nav__item '><a href="../For_Hosts/Custom_Configuration.html">Custom Configuration</a></li></ul></li><li class='Nav__item Nav__item--open has-children'><a href="../For_Developers/index.html" class="Nav__item__link"><i class="Nav__arrow">&nbsp;</i>For Developers</a><ul class='Nav'><li class='Nav__item '><a href="../For_Developers/Coding_style_policy.html">Coding style policy</a></li><li class='Nav__item '><a href="../For_Developers/Pull_Request_policy.html">Pull Request policy</a></li><li class='Nav__item Nav__item--active'><a href="../For_Developers/Folder_structure.html">Folder structure</a></li><li class='Nav__item '><a href="../For_Developers/Actions.html">Actions</a></li><li class='Nav__item '><a href="../For_Developers/Debug_mode.html">Debug mode</a></li><li class='Nav__item '><a href="../For_Developers/Github_Codespaces_Tutorial.html">Github Codespaces Tutorial</a></li><li class='Nav__item '><a href="../For_Developers/Development_Environment_Setup.html">Development Environment Setup</a></li></ul></li><li class='Nav__item has-children'><a href="../Bridge_API/index.html" class="Nav__item__link"><i class="Nav__arrow">&nbsp;</i>Bridge API</a><ul class='Nav'><li class='Nav__item '><a href="../Bridge_API/How_to_create_a_new_bridge.html">How to create a new bridge</a></li><li class='Nav__item '><a href="../Bridge_API/BridgeAbstract.html">BridgeAbstract</a></li><li class='Nav__item '><a href="../Bridge_API/FeedExpander.html">FeedExpander</a></li><li class='Nav__item '><a href="../Bridge_API/WebDriverAbstract.html">WebDriverAbstract</a></li><li class='Nav__item '><a href="../Bridge_API/XPathAbstract.html">XPathAbstract</a></li></ul></li><li class='Nav__item '><a href="../Helper_functions/index.html" class="Nav__item__link"><i class="Nav__arrow">&nbsp;</i>Helper functions</a><ul class='Nav'></ul></li><li class='Nav__item has-children'><a href="../Cache_API/index.html" class="Nav__item__link"><i class="Nav__arrow">&nbsp;</i>Cache API</a><ul class='Nav'><li class='Nav__item '><a href="../Cache_API/How_to_create_a_new_cache.html">How to create a new cache</a></li><li class='Nav__item '><a href="../Cache_API/CacheInterface.html">CacheInterface</a></li></ul></li><li class='Nav__item '><a href="../Technical_recommendations/index.html" class="Nav__item__link"><i class="Nav__arrow">&nbsp;</i>Technical recommendations</a><ul class='Nav'></ul></li><li class='Nav__item has-children'><a href="../Bridge_Specific/ActivityPub_(Mastodon).html" class="Nav__item__link"><i class="Nav__arrow">&nbsp;</i>Bridge Specific</a><ul class='Nav'><li class='Nav__item '><a href="../Bridge_Specific/ActivityPub_(Mastodon).html">ActivityPub (Mastodon)</a></li><li class='Nav__item '><a href="../Bridge_Specific/Economist.html">Economist</a></li><li class='Nav__item '><a href="../Bridge_Specific/FacebookBridge.html">FacebookBridge</a></li><li class='Nav__item '><a href="../Bridge_Specific/FurAffinityBridge.html">FurAffinityBridge</a></li><li class='Nav__item '><a href="../Bridge_Specific/Furaffinityuser.html">Furaffinityuser</a></li><li class='Nav__item '><a href="../Bridge_Specific/Instagram.html">Instagram</a></li><li class='Nav__item '><a href="../Bridge_Specific/PixivBridge.html">PixivBridge</a></li><li class='Nav__item '><a href="../Bridge_Specific/Substack.html">Substack</a></li><li class='Nav__item '><a href="../Bridge_Specific/Telegram.html">Telegram</a></li><li class='Nav__item '><a href="../Bridge_Specific/TwitterV2.html">TwitterV2</a></li><li class='Nav__item '><a href="../Bridge_Specific/Vk2.html">Vk2</a></li></ul></li></ul>
<div class="Links">
<hr/>
<a href="https://github.com/RSS-Bridge/rss-bridge" target="_blank" rel="noopener noreferrer">GitHub Repository</a>
<br />
<a href="https://github.com/RSS-Bridge/rss-bridge/issues" target="_blank" rel="noopener noreferrer">Help/Support/Bugs</a>
<br />
<a href="https://github.com/RSS-Bridge/rss-bridge/pkgs/container/rss-bridge" target="_blank" rel="noopener noreferrer">Docker Images</a>
<br />
</div>
<div class="CodeToggler">
<hr/>
<label class="Checkbox">Show Code Blocks <input type="checkbox" class="CodeToggler__button--main" checked="checked"/>
<div class="Checkbox__indicator"></div>
</label>
</div>
<div class="DarkModeToggler">
<hr/>
<label class="Checkbox">Dark Mode <input type="checkbox" class="ColorMode__button" />
<div class="Checkbox__indicator"></div>
</label>
</div>
<div class="PoweredBy">
<hr/>
Powered by Daux.io </div>
</div>
</aside>
<div class="Columns__right">
<div class="Columns__right__content">
<div class="doc_content">
<article class="Page">
<div class="Page__header">
<h1><a href="../For_Developers/index.html">For Developers</a> <svg class="Page__header--separator" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 477.175 477.175"><path d="M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z"/></svg> <a href="../For_Developers/Folder_structure.html">Folder structure</a></h1>
<span class="ModifiedDate">
March 24, 2025 at 1:12PM </span>
<span class="EditOn">
<a href="https://github.com/RSS-Bridge/rss-bridge/tree/master/docs/04_For_Developers/03_Folder_structure.md" target="_blank">
Edit on GitHub </a>
</span>
</div>
<div class="s-content">
<p>The repository contains a few folders that make up <strong>RSS-Bridge</strong>. Here is a brief description of what you can expect to find where:</p>
<table>
<thead>
<tr>
<th>Folder</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://github.com/RSS-Bridge/rss-bridge/tree/master/actions" class="Link--external" rel="noopener noreferrer"><code>actions/</code></a></td>
<td>Contains all “<a href="https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller" class="Link--external" rel="noopener noreferrer">controllers</a>” for the web front-end.</td>
</tr>
<tr>
<td><a href="https://github.com/RSS-Bridge/rss-bridge/tree/master/bridges" class="Link--external" rel="noopener noreferrer"><code>bridges/</code></a></td>
<td>Contains all bridges that are currently supported. Each file represents one Bridge that is displayed on the <a href="../General/Screenshots.html#welcome-screen">Welcome screen</a> of <strong>RSS-Bridge</strong></td>
</tr>
<tr>
<td><a href="https://github.com/RSS-Bridge/rss-bridge/tree/master/caches" class="Link--external" rel="noopener noreferrer"><code>caches/</code></a></td>
<td>Contains implementation for different cache back-ends supported.</td>
</tr>
<tr>
<td><a href="https://github.com/RSS-Bridge/rss-bridge/tree/master/contrib" class="Link--external" rel="noopener noreferrer"><code>contrib/</code></a></td>
<td>Contains various helpers for development and release process.</td>
</tr>
<tr>
<td><a href="https://github.com/RSS-Bridge/rss-bridge/tree/master/docs" class="Link--external" rel="noopener noreferrer"><code>docs/</code></a></td>
<td>Contains this documentation.</td>
</tr>
<tr>
<td><a href="https://github.com/RSS-Bridge/rss-bridge/tree/master/formats" class="Link--external" rel="noopener noreferrer"><code>formats/</code></a></td>
<td>Contains all export formats.</td>
</tr>
<tr>
<td><a href="https://github.com/RSS-Bridge/rss-bridge/tree/master/lib" class="Link--external" rel="noopener noreferrer"><code>lib/</code></a></td>
<td>Contains the core API and helper functions.</td>
</tr>
<tr>
<td><a href="https://github.com/RSS-Bridge/rss-bridge/tree/master/static" class="Link--external" rel="noopener noreferrer"><code>static/</code></a></td>
<td>Contains all static assets for the web front-end, including images, style sheets and JavaScript code.</td>
</tr>
<tr>
<td><a href="https://github.com/RSS-Bridge/rss-bridge/tree/master/templates" class="Link--external" rel="noopener noreferrer"><code>templates/</code></a></td>
<td>Contains templates for producing the HTML of the web front-end.</td>
</tr>
<tr>
<td><a href="https://github.com/RSS-Bridge/rss-bridge/tree/master/tests" class="Link--external" rel="noopener noreferrer"><code>tests/</code></a></td>
<td>Contains the test suite and fixtures.</td>
</tr>
<tr>
<td><a href="https://github.com/RSS-Bridge/rss-bridge/tree/master/vendor" class="Link--external" rel="noopener noreferrer"><code>vendor/</code></a></td>
<td>Contains third-party libraries used by <strong>RSS-Bridge</strong>. Development of all files in this folder must be done in the vendor specific repository (not part of <strong>RSS-Bridge</strong>)</td>
</tr>
</tbody>
</table>
</div>
<nav>
<ul class="Pager">
<li class=Pager--prev><a href="../For_Developers/Pull_Request_policy.html">Previous</a></li> <li class=Pager--next><a href="../For_Developers/Actions.html">Next</a></li> </ul>
</nav>
</article>
</div>
</div>
</div>
</div>
<!-- JS -->
<script src="../themes/daux/js/daux.min.js"></script>
<script>
window.searchLanguage = "";
window.searchTranslation = {"Search_one_result":"1 result","Search_results":"!count results","Search_no_results":"Nothing found","Search_common_words_ignored":"Common words are largely ignored","Search_too_short":"Search too short","Search_one_character_or_more":"Should be one character or more","Search_should_be_x_or_more":"Should be !min characters or more","Link_previous":"Previous","Link_next":"Next"};
</script>
<!-- Search -->
<script type="text/javascript" src="../daux_libraries/search.min.js"></script>
<script>
window.search({'base_url': '../'})
</script>
</body>
</html>