61 lines
2.4 KiB
HTML

{% extends 'base.html' %}
{% block content %}
<main class="container my-5">
<div class="container text-center">
<h1 class="display-4">Welcome to SciPaperLoader</h1>
<p class="lead">Your paper scraping tool is ready.</p>
<p class="text-muted">A simple tool to scrape papers from Zotero API.</p>
</div>
<div class="row g-4">
<div class="col-md-6">
<div class="card shadow-sm">
<div class="card-body">
<h5 class="card-title">📄 CSV Import</h5>
<p class="card-text">Upload a 37-column CSV to import paper metadata. Only relevant fields (title, DOI, ISSN, etc.) are stored. Errors are reported without aborting the batch.</p>
<a href="/import" class="btn btn-sm btn-outline-primary">Upload Now</a>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card shadow-sm">
<div class="card-body">
<h5 class="card-title">🧠 Background Scraper</h5>
<p class="card-text">A daemon process runs hourly to fetch papers using Zotero API. Downloads are randomized to mimic human behavior and avoid detection.</p>
<a href="/logs" class="btn btn-sm btn-outline-secondary">View Logs</a>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card shadow-sm">
<div class="card-body">
<h5 class="card-title">📚 Paper Management</h5>
<p class="card-text">Monitor paper status (Pending, Done, Failed), download PDFs, and inspect errors. Files are stored on disk in structured folders per DOI.</p>
<a href="/papers" class="btn btn-sm btn-outline-success">Browse Papers</a>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card shadow-sm">
<div class="card-body">
<h5 class="card-title">🕒 Download Schedule</h5>
<p class="card-text">Control how many papers are downloaded per hour. Configure hourly volume (e.g. 2/hour at daytime, 0 at night) to match your bandwidth or usage pattern.</p>
<a href="/schedule" class="btn btn-sm btn-outline-warning">Adjust Schedule</a>
</div>
</div>
</div>
</div>
<div class="text-center mt-5">
<p class="text-muted small">
Powered by Flask • SQLite • Bootstrap • PyZotero<br>
Designed for academic use on a local network.
</p>
</div>
</main>
{% endblock %}