Skip to content

Instantly share code, notes, and snippets.

View Erilan's full-sized avatar

Antonin Savoie Erilan

  • Kaliop
  • Montpellier
View GitHub Profile
@Erilan
Erilan / pagelayout.njk
Created June 5, 2019 16:03
demo-recipes-serverless-pagelayout
<!DOCTYPE html>
<html>
<head>
<!--Import Google Icon Font-->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!--Import materialize.css-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
@Erilan
Erilan / recipeDetails.njk
Created June 5, 2019 15:57
demo-recipes-serverless-recipeDetails
{% extends "pagelayout.njk" %}
{% block content %}
<div class="row">
<div class="col s5">
<h2>{{ recipe.name }}</h2>
<p>{{ recipe.description }}</p>
<p>Preparation time : {{ recipe.preparationTime }}</p>
{% if recipe.cookingTime %}
@Erilan
Erilan / homepage.njk
Created June 5, 2019 15:56
demo-recipes-serverless-homepage
{% extends "pagelayout.njk" %}
{% block content %}
{% for recipe in recipes %}
<div class="col s12">
<h2 class="header">{{ recipe.name }}</h2>
<div class="card horizontal">
<div class="card-image">
<img src="{{ recipe.image }}">
@Erilan
Erilan / handler.js
Created June 5, 2019 15:50
demo-recipes-serverless-handler
const contentRepository = require('./services/contentRepository')
const nunjucksRenderer = require('./services/nunjucksRenderer')
/**
* Function attache to the Homepage Lambda
* Return the content of the homepage
*/
module.exports.homepage = async () => {
const recipes = contentRepository.getAll()
@Erilan
Erilan / serverless.yml
Created June 5, 2019 15:46
demo-recipes-serverless-definition
service: mes-recettes
provider:
name: aws
runtime: nodejs10.x
region: eu-west-1
functions:
homepage:
@Erilan
Erilan / data.json
Created June 5, 2019 15:42
demo-recipes-serverless-data-sample
{
"id": "4895",
"name": "Spring rolls",
"description": "These spring rolls are a refreshing change from the usual fried variety, and have become a family favorite. They are great as a cool summertime appetizer, and are delicious dipped in one or both of the sauces",
"preparationTime": 45,
"cookingTime": 0,
"ingredients": [
"2 ounces Rice vermicelli",
"8 Rice wrappers",
"8 cooked shrimps",
<h3>Recipe - jQuery</h3>
<div>
<label for="serving">Portions :</label>
<input type="number" id="servingInput" value="1">
<button class="js-decreaseService">-</button>
<button class="js-increaseService">+</button>
<div class="Recipe-IngredientList">
<div class="Recipe-Ingredient js-recipeIngredient" data-baseValue="100">Farine : <span></span>g</div>
<div class="Recipe-Ingredient js-recipeIngredient" data-baseValue="2">Oeuf : <span></span></div>
<h3>Panels - jQuery</h3>
<div>
<div class="Panel-TitleList">
<button class="Panel-Title js-panel" data-targetPanel="#panel1">First Panel</button>
<button class="Panel-Title js-panel" data-targetPanel="#panel2">Second Panel</button>
<button class="Panel-Title js-panel" data-targetPanel="#panel3">Third Panel</button>
</div>
<div class="Panel-ContentList">
<div id="panel1" class="Panel-Content js-contentPanel">Content of the first panel</div>
<div id="panel2" class="Panel-Content js-contentPanel Panel-Content--hidden">I am the second panel's content</div>
<h3>Dropdown - jQuery</h3>
<div>
<div class="Dropdown-Title js-dropdown">Dropdown me !</div>
<div class="Dropdown-ItemList Dropdown-ItemList--closed">
<a class="Dropdown-Item">First link</a>
<a class="Dropdown-Item">Second link</a>
<a class="Dropdown-Item">Third link</a>
</div>
</div>
<div id="Vue">
Message from vue : {{ message }}
</div>