Skip to content

Commit

Permalink
Added just-the-docs template and home page.
Browse files Browse the repository at this point in the history
  • Loading branch information
dfyda committed Jun 2, 2024
1 parent 6046032 commit a13128e
Show file tree
Hide file tree
Showing 9 changed files with 167 additions and 157 deletions.
25 changes: 0 additions & 25 deletions docs/404.html

This file was deleted.

36 changes: 5 additions & 31 deletions docs/Gemfile
Original file line number Diff line number Diff line change
@@ -1,33 +1,7 @@
source "https://rubygems.org"
# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
# bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
gem "jekyll", "~> 4.3.3"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minima", "~> 2.5"
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# gem "github-pages", group: :jekyll_plugins
# If you have any plugins, put them here!
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.12"
end
source 'https://rubygems.org'

# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library.
platforms :mingw, :x64_mingw, :mswin, :jruby do
gem "tzinfo", ">= 1", "< 3"
gem "tzinfo-data"
end
gem "jekyll", "~> 4.3.3" # installed by `gem jekyll`
# gem "webrick" # required when using Ruby >= 3 and Jekyll <= 4.2.2

# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]

# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
# do not have a Java counterpart.
gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]
gem "just-the-docs", "0.8.2" # pinned to the current release
# gem "just-the-docs" # always download the latest release
86 changes: 86 additions & 0 deletions docs/Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
bigdecimal (3.1.8)
colorator (1.1.0)
concurrent-ruby (1.3.1)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
eventmachine (1.2.7)
ffi (1.17.0-x64-mingw-ucrt)
forwardable-extended (2.6.0)
google-protobuf (4.27.0-x64-mingw-ucrt)
bigdecimal
rake (>= 13)
http_parser.rb (0.8.0)
i18n (1.14.5)
concurrent-ruby (~> 1.0)
jekyll (4.3.3)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (~> 1.0)
jekyll-sass-converter (>= 2.0, < 4.0)
jekyll-watch (~> 2.0)
kramdown (~> 2.3, >= 2.3.1)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
mercenary (>= 0.3.6, < 0.5)
pathutil (~> 0.9)
rouge (>= 3.0, < 5.0)
safe_yaml (~> 1.0)
terminal-table (>= 1.8, < 4.0)
webrick (~> 1.7)
jekyll-include-cache (0.2.1)
jekyll (>= 3.7, < 5.0)
jekyll-sass-converter (3.0.0)
sass-embedded (~> 1.54)
jekyll-seo-tag (2.8.0)
jekyll (>= 3.8, < 5.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
just-the-docs (0.8.2)
jekyll (>= 3.8.5)
jekyll-include-cache
jekyll-seo-tag (>= 2.0)
rake (>= 12.3.1)
kramdown (2.4.0)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.4)
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (5.0.5)
rake (13.2.1)
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
rexml (3.2.8)
strscan (>= 3.0.9)
rouge (4.2.1)
safe_yaml (1.0.5)
sass-embedded (1.77.4-x64-mingw-ucrt)
google-protobuf (>= 3.25, < 5.0)
strscan (3.1.0)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
unicode-display_width (2.5.0)
webrick (1.8.1)

PLATFORMS
x64-mingw-ucrt

DEPENDENCIES
jekyll (~> 4.3.3)
just-the-docs (= 0.8.2)

BUNDLED WITH
2.5.11
69 changes: 21 additions & 48 deletions docs/_config.yml
Original file line number Diff line number Diff line change
@@ -1,51 +1,24 @@
# Welcome to Jekyll!
#
# This config file is meant for settings that affect your whole blog, values
# which you are expected to set up once and rarely edit after that. If you find
# yourself editing this file very often, consider using Jekyll's data files
# feature for the data you need to update frequently.
#
# For technical reasons, this file is *NOT* reloaded automatically when you use
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
#
# If you need help with YAML syntax, here are some quick references for you:
# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml
# https://learnxinyminutes.com/docs/yaml/
#
# Site settings
# These are used to personalize your new site. If you look in the HTML files,
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.

title: Slothful CRUD
description: Slothful CRUD is a library designed to streamline the creation of CRUD endpoints effortlessly. By implementing the necessary interfaces in domain classes, you can quickly register the library and generate RESTful endpoints. Simplify your API development with Slothful CRUD.
email: [email protected]
baseurl: "" # the subpath of your site, e.g. /blog
url: "https://slothful.dev" # the base hostname & protocol for your site, e.g. http://example.com
github_username: dfyda
description: A library designed to streamline the creation of CRUD endpoints effortlessly. Implementing the necessary interfaces in domain classes allows you to quickly register the library and generate RESTful endpoints.
baseurl: ""
url: "https://slothful.dev"
repository: dfyda/slothful-crud
theme: just-the-docs

#logo: "/assets/slothful-api.jpg"

aux_links:
Repository: https://github.com/dfyda/slothful-crud

footer_content: "Copyright &copy; 2024 Damian Fyda. Distributed by an <a href=\"https://github.com/dfyda/slothful-crud/tree/main/LICENSE.txt\">MIT license.</a>"

color_scheme: dark

# Build settings
theme: minima
plugins:
- jekyll-feed
# Back to top link
back_to_top: true
back_to_top_text: "Back to top"

# Exclude from processing.
# The following items will not be processed, by default.
# Any item listed under the `exclude:` key here will be automatically added to
# the internal "default list".
#
# Excluded items can be processed by explicitly listing the directories or
# their entries' file path in the `include:` list.
#
# exclude:
# - .sass-cache/
# - .jekyll-cache/
# - gemfiles/
# - Gemfile
# - Gemfile.lock
# - node_modules/
# - vendor/bundle/
# - vendor/cache/
# - vendor/gems/
# - vendor/ruby/
# External navigation links
nav_external_links:
- title: Slothful CRUD on GitHub
url: https://github.com/dfyda/slothful-crud
29 changes: 0 additions & 29 deletions docs/_posts/2024-06-02-welcome-to-jekyll.markdown

This file was deleted.

18 changes: 0 additions & 18 deletions docs/about.markdown

This file was deleted.

Binary file added docs/assets/slothful-api-doc.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 0 additions & 6 deletions docs/index.markdown

This file was deleted.

55 changes: 55 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
title: Home
layout: home
---

<div align="center">
<img src="assets/slothful-api-doc.jpg" alt="slothful-crud logo">
</div>

# Relax and Generate CRUD Endpoints
{: .fs-9 }

Slothful CRUD is a library designed to streamline the creation of CRUD endpoints effortlessly. By implementing the necessary interfaces in domain classes, you can quickly register the library and generate RESTful endpoints. Simplify your API development with Slothful CRUD.
{: .fs-6 .fw-300 }

---

## Getting Started

Follow these steps to integrate Slothful CRUD into your project:

1. **Configure Your Domain Classes:**

- Create domain classes representing your data entities.
- Implement the appropriate interfaces for CRUD operations.

2. **Register the Library:**

- Integrate Slothful API by registering it in your application.

3. **Run Your Application:**

- Start your application to automatically generate RESTful endpoints based on your domain classes.

## Configuration
The base configuration class that defines shared settings for all other configuration classes:

- **ExposeAllNestedProperties** (`bool`): Set to `true` to expose all nested properties via the API. Useful for debugging or gaining granular control over nested data.
- **IsAuthorizationEnable** (`bool`): Determines whether authorization checks are enabled. If set to `true`, the policies listed in `PolicyNames` are applied.
- **PolicyNames** (`string[]`): An array of policy names to apply for authorization.

### `EndpointConfiguration` (inherits `Configuration`)
Defines properties specific to API endpoints:

- **IsEnable** (`bool`): Determines if the endpoint is enabled.

### `EntityConfiguration` (inherits `Configuration`)
Provides settings specific to entity management:

- **SortProperty** (`string`): Specifies the property name used to sort entities.
- **FilterProperty** (`string`): Identifies the property name used to filter entities.
- **KeyProperty** (`string`): Defines the primary key property name for identifying entities.
- **KeyPropertyType** (`Type`): Indicates the type of the primary key property (e.g., `int`, `string`).
- **UpdateMethod** (`string`): Specifies the method used to update entities.
- **HasValidation** (`bool`): Enables or disables validation for entities to ensure compliance with business rules.

0 comments on commit a13128e

Please sign in to comment.