Skip to content

Instantly share code, notes, and snippets.

View sjardim's full-sized avatar
🏠
Working from home

Sérgio Jardim sjardim

🏠
Working from home
View GitHub Profile
Sub Export4KPowerpoint()
If ActivePresentation.CreateVideoStatus <> ppMediaTaskStatusInProgress Then
ActivePresentation.CreateVideo FileName:=Environ("USERPROFILE") & "\Desktop\export.mp4", _
UseTimingsAndNarrations:=True, _
VertResolution:=2160, _
FramesPerSecond:=30, _
Quality:=100
Else: MsgBox "There is another conversion to video in progress"
End If
End Sub
@sjardim
sjardim / move_files_into_multiple_folders.py
Last active October 31, 2019 18:42
This Python script will move the files of the current folder into the folder structure according to a defined structure.
import shutil
import os
# This script will move the files of the current folder into the folder structure according to the FoldersMap.
# detect the current working directory
currentFolder = os.getcwd()
filePath = currentFolder
FoldersMap = {
@sjardim
sjardim / processire-sync-s3-images.module.php
Last active August 11, 2023 04:20
'Synchronize all the page images uploaded through ProcessWire to a specified bucket in Amazon S3 and other places using Flysystem library.
<?php namespace ProcessWire;
use Aws\S3\S3Client;
use League\Flysystem\AwsS3v3\AwsS3Adapter;
use League\Flysystem\Filesystem;
use League\Flysystem\Adapter\Local;
class ProcessSync extends WireData implements Module, ConfigurableModule {
public static function getModuleInfo() {
@sjardim
sjardim / ProcessWireValetDriver.php
Created February 10, 2021 11:47 — forked from LostKobrakai/ProcessWireValetDriver.php
ProcessWire Valet Driver
<?php
class ProcessWireValetDriver extends BasicValetDriver
{
private $possibleDirectories = [
'', // PW in root, do not remove except you're sure you never use it
'/dist',
'/public'
];
<?php
//Blog post: https://www.hashbangcode.com/article/extracting-data-mp3-php
//USAGE:
//Tested ID3v2.2 and v2.4 and on UTF-8 and UTF-16LE encondings
// $file = 'audio.mp3';

Prefill a block editor from a selection of templates

Objectives:

  • Create a new module with a template field
  • Prefill the block editor for new items according to the selected template

Requirements:

@sjardim
sjardim / twill-light-and-dark-mode.css
Last active December 20, 2022 23:57
Light and Dark mode styles for Twill (twill.io) CMS admin
:root {
--primary-color-hue: 230;
--background-darkest: hsl(var(--primary-color-hue), 70%, 30%);
--background-darker: hsl(var(--primary-color-hue), 20%, 95%);
--background-normal: hsl(var(--primary-color-hue), 70%, 98%);
--background-contrast: hsl(var(--primary-color-hue), 90%, 100%);
--background-highlight: hsl(var(--primary-color-hue), 100%, 98%);
--border-normal: hsl(var(--primary-color-hue), 30%, 90%);
--border-highlight: hsl(var(--primary-color-hue), 100%, 95%);
--body-text-normal: hsl(var(--primary-color-hue), 45%, 55%);
@sjardim
sjardim / twill-nested-module-urls.md
Created February 1, 2022 15:25 — forked from chrispymm/twill-nested-module-urls.md
[Support nested urls for nested modules] #twill

By default Twill will disply the url of a module item to be {siteurl}/{module}/{slug} e.g. mysite.com/pages/about. With the 'about' section being the editable slug. This is understandable as Twill knows nothing of your frontend routing. However it is likely confusing for editors, as that url presented will not be the final url of the content.

Remove module name form url

This will give us more correct urls e.g. mysite.com/about

// app/Http/Controllers/Admin/PageController

	protected $permalinkBase = '';
@sjardim
sjardim / update_meilisearch_index_command.php
Created May 31, 2022 18:10
Laravel command to update Meilisearch's index and filterable attributes
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use MeiliSearch\Client;
use function PHPUnit\Framework\throwException;
class UpdateMeilisearchIndex extends Command
{
<?php
namespace App\Filament\Resources\ItemResource\Pages;
use App\Filament\Resources\ItemResource;
use Filament\Resources\Pages\ListRecords;
use Illuminate\Contracts\View\View;
use Illuminate\Support\Facades\DB;
class CustomItemsList extends ListRecords