Author: Chris Lattner
import 'dart:convert'; | |
import 'dart:typed_data'; | |
import 'package:http/http.dart' as http; | |
/// The file uploader uploads files to Serverpod's cloud storage. On the server | |
/// you can setup a custom storage service, such as S3 or Google Cloud. To | |
/// directly upload a file, you first need to retrieve an upload description | |
/// from your server. After the file is uploaded, make sure to notify the server | |
/// by calling the verifyDirectFileUpload on the current Session object. |
import 'package:flutter/material.dart'; | |
class OutlinedInputBorder extends InputBorder { | |
/// Creates a rounded rectangle outline border for an [InputDecorator]. | |
/// | |
/// If the [borderSide] parameter is [BorderSide.none], it will not draw a | |
/// border. However, it will still define a shape (which you can see if | |
/// [InputDecoration.filled] is true). | |
/// | |
/// If an application does not specify a [borderSide] parameter of |
import 'package:flutter/material.dart'; | |
import 'package:go_router/go_router.dart'; | |
void main() { | |
runApp(MyApp()); | |
} | |
final _rootKey = GlobalKey<NavigatorState>(); | |
final _nestedKey = GlobalKey<NavigatorState>(); |
Mix.install( | |
[ | |
{:phoenix_playground, "~> 0.1.0"}, | |
{:openai, "~> 0.6.1"} | |
], | |
config: [ | |
openai: [ | |
api_key: System.get_env("OPENAI_API_KEY"), | |
organization_key: System.get_env("OPENAI_ORGANIZATION_KEY") | |
] |
import 'package:flutter/material.dart'; | |
/// `ThemeExtension` template for custom colors. | |
/// | |
/// For example purposes, it has all required fields from the default Material `ColorScheme`. | |
/// But you can add, rename and delete any fields your need. | |
/// | |
/// ### Motivation | |
/// | |
/// At the beginning, you may not know if your colors will fit into the Material `ColorScheme`, |
import 'package:flutter/material.dart'; | |
extension BuildContextExtensions on BuildContext { | |
ThemeData get theme => Theme.of(this); | |
TextTheme get textTheme => theme.textTheme; | |
ColorScheme get colorScheme => theme.colorScheme; | |
DefaultTextStyle get defaultTextStyle => DefaultTextStyle.of(this); |
defmodule Languafy.Web.Context do | |
@behaviour Plug | |
import Plug.Conn | |
alias Languafy.User | |
def init(opts), do: opts | |
def call(conn, _) do | |
case build_context(conn) do | |
{:ok, context} -> |
UPDATED 3.12.2020
The old version of youtube with "disable_polymer" is not working anymore, so the script also stopped working.
Thanks to JanTheDeveloper we have a new working script. Big up!
I just changed the '//span[contains(text(),"Watch later")]',
to '//span[contains(text(),"Remove from")]',
and it should work for any playlist, not just the watch later one. (thanks to hudsonite for the tip)
setInterval(function () {
document.querySelector('#primary button[aria-label="Action menu"]').click();
Sometimes you want to have a subdirectory on the master
branch be the root directory of a repository’s gh-pages
branch. This is useful for things like sites developed with Yeoman, or if you have a Jekyll site contained in the master
branch alongside the rest of your code.
For the sake of this example, let’s pretend the subfolder containing your site is named dist
.
Remove the dist
directory from the project’s .gitignore
file (it’s ignored by default by Yeoman).