https://github.com/minimalic/silverstripe-hackernews
Silverstripe CMS 5 module for Tech news fetched by using Hacker News API
https://github.com/minimalic/silverstripe-hackernews
hacker-news news silverstripe silverstripe-module tech-news y-combinator
Last synced: 3 months ago
JSON representation
Silverstripe CMS 5 module for Tech news fetched by using Hacker News API
- Host: GitHub
- URL: https://github.com/minimalic/silverstripe-hackernews
- Owner: minimalic
- License: bsd-3-clause
- Created: 2024-04-16T21:38:55.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-19T17:59:55.000Z (about 1 year ago)
- Last Synced: 2025-01-19T07:14:33.380Z (5 months ago)
- Topics: hacker-news, news, silverstripe, silverstripe-module, tech-news, y-combinator
- Language: PHP
- Homepage:
- Size: 28.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Silverstripe HackerNews - A Tech News Slider
News scrolling banner (animated) for Silverstripe CMS.
The extension can automatically fetch tech news/posts by using Y Combinator's Hacker News API.Working demo on [iloveunix.com](https://iloveunix.com) at site's footer.
## Requirements
* Compatible with Silverstripe versions 4 and 5
* Bootstrap (optional, e.g. [silverstripe-bootloader](https://github.com/minimalic/silverstripe-bootloader))## Installation
### Composer
```sh
composer require minimalic/silverstripe-hackernews
```### Rebuild DB
Rebuild DB by appending `dev/build?flush=all` to your website's URL or by using shell:
```sh
vendor/bin/sake dev/build "flush=all"
```### Fetch Hacker News
Fetch first news by appending `dev/tasks/FetchHackerNewsTask` to your website's URL or by using shell (from website's root directory):
```sh
vendor/bin/sake dev/tasks/FetchHackerNewsTask
```or (if sake is not available):
```sh
php vendor/silverstripe/framework/cli-script.php dev/tasks/FetchHackerNewsTask
```### Bootstrap extension (optional)
Bootstrap (CSS library) isn't required, but this extension is using Bootstrap's markups for templating.
Own Bootstrap implementation can be used as well as extensions like `silverstripe-bootloader`:```sh
composer require minimalic/silverstripe-bootloader
```## Usage
Simply put `$HackerNews` inside your template, for example `Footer.ss`:
```html
$HackerNews
```## Configuration
Configuration options (e.g. `app/_config/hackernews.yml`):
```yaml
minimalic\HackerNews\Tasks\FetchHackerNewsTask:
posts_to_load: 40
email_message_enable: true
email_message_nightly: true
email_message_from:
[email protected]: 'Server Name'
email_message_to:
[email protected]: 'My Name'minimalic\HackerNews\HackerNewsBanner:
banner_speed: 60
```## Automatic daily news fetch
Set up cronjob (shell, as web user):
```sh
crontab -e
```To fetch news every 6 hours starting at 0:42 local server time type in:
```cron
42 */6 * * * ~/mywebsite/vendor/bin/sake dev/tasks/FetchHackerNewsTask
```(the `~/mywebsite/` is a relative path from your web user starting point - you can also use an absolute path like `/var/www/mywebsite/`)
## Contribution
To compile SCSS to CSS install `sass`, `nodemon` and `postcss` by using `npm` and run (developing only, shell):
```sh
cd vendor/minimalic/silverstripe-hackernews/client/src/
npm run-script watch
```## License
See [License](LICENSE)
Copyright (c) 2024, minimalic.com - Sebastian Finke
All rights reserved.