This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from datetime import timezone | |
from atproto import Client | |
import datetime | |
client = Client() | |
handle = 'YOUR_HANLDE' | |
password = 'YOUR_APP_PASSWORD' | |
client.login(handle, password) | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import TextField from '@mui/material/TextField'; | |
import Button from '@mui/material/Button'; | |
import {useState} from 'react'; | |
export default function Contact() { | |
const [send, setSend] = useState(false); | |
async function handleSubmit(event) { | |
event.preventDefault() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const sendInBlueKey = process.env.NEXT_PUBLIC_SEND_IN_BLUE_KEY | |
export default async function handler(req, res) { | |
const body = req.body | |
const resp = await fetch('https://api.sendinblue.com/v3/smtp/email', { | |
method: 'POST', | |
headers: { | |
'Accept': 'application/json', |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import ReactMarkdown from 'react-markdown'; | |
import { Prism as SyntaxHighlighter } from "react-syntax-highlighter"; | |
import { materialDark } from "react-syntax-highlighter/dist/cjs/styles/prism"; | |
import { TransformWrapper, TransformComponent } from "react-zoom-pan-pinch"; | |
<ReactMarkdown | |
components={{ | |
p: ({ node, children }) => { | |
if (node.children[0].tagName === "img") { | |
const image = node.children[0]; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[functions] | |
included_files = ["netlify/functions/**"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"scripts": { | |
"generate": "run-func netlify/functions/header.js handler" | |
}, | |
"dependencies": { | |
"axios": "^0.24.0", | |
"jimp": "^0.16.1", | |
"rss-to-json": "^2.0.2", | |
"run-func": "^1.0.5", | |
"sharp": "^0.29.3", |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const { TwitterClient } = require('twitter-api-client') | |
const axios = require('axios') | |
const sharp = require('sharp') | |
const Feed = require('rss-to-json') | |
const Jimp = require('jimp') | |
const fs = require('fs') | |
const numberOfFollowers = 3 | |
const widthHeightFollowerImage = 90 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
getDataCached('a').then(result => { console.log('first call outer: ' + result); | |
getDataCached('a').then(result => { console.log('first call inner: ' + result); }); | |
}); | |
getDataCached('b').then(result => { console.log('first call outer: ' + result); | |
getDataCached('b').then(result => { console.log('first call inner: ' + result); }); | |
}); | |
getDataCached('a').then(result => { console.log('second call outer: ' + result); | |
getDataCached('a').then(result => { console.log('second call inner: ' + result); }); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const now = new Date().getTime(); | |
if (_cacheResolvedTime.has(key)) { | |
if ((now - _cacheResolvedTime.get(key)) > 60000) { | |
_cacheResolvedTime.delete(param); | |
_cacheValues.delete(key); | |
_cachePromises.delete(key); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if (_cacheValues.has(key)) { | |
return Promise.resolve(_cacheValues.get(key)); | |
} else if (_cachePromises.has(key)) { | |
return _cachePromises.get(key); | |
} else { | |
const promise = new Promise(function (resolve, reject) { | |
return getData(key).then(data => { | |
_cacheValues.set(key, data); | |
_cachePromises.delete(key); | |
const now = new Date().getTime(); |
NewerOlder