A simple JavaScript script that adds a floating "Archive" button to specific news websites, allowing quick archiving via archive.md.


A simple JavaScript script that adds a floating "Archive" button to specific news websites, allowing quick archiving via archive.md.
# The Caddyfile is an easy way to configure your Caddy web server. | |
# | |
# Unless the file starts with a global options block, the first | |
# uncommented line is always the address of your site. | |
# | |
# To use your own domain name (with automatic HTTPS), first make | |
# sure your domain's A/AAAA DNS records are properly pointed to | |
# this machine's public IP, then replace ":80" below with your | |
# domain name. |
Note: I don't know where does this thread belongs. If I'm on the incorrect section, move it to the correct one. | |
Many people are literally just selling this method and I feel like sharing this out so that you don't have to pay because the seller just don't do a minute of work to get you the drive. | |
So moving straight towards the method: | |
Step I: | |
Go to this link: https://td.fastio.me/ (mirrors to be left at the last) | |
Step II: | |
Type your desired drive's name at the first field and your Gmail on the bottom field. |
Create template actions that's used to verify Go language pull requests before merging. It's easy to custom the flow, tools with your case.
Put pr_checker.yml
or pr_checker_simple.yml
to .github/workflows/
and see how it works with your pull requests. Make sure you are allows to use actions of Github.
References:
class DebounceLiveData<Source>( | |
private val source: LiveData<Source>, | |
private val debounceMs: Long | |
) : LiveData<Source>(), CoroutineScope { | |
private val job = SupervisorJob() | |
override val coroutineContext: CoroutineContext | |
get() = Dispatchers.Main + job | |
private var debounceJob: Job? = null | |
private val observer = Observer<Source> { source -> |
//Abstração | |
class TestLiveData<T, Q> : TestLiveDataI<T, Q> { | |
val success = MutableLiveData<T>() | |
val loading = MutableLiveData<Boolean>() | |
val error = Event<Q>() | |
override fun successLiveData(): LiveData<T> = success | |
override fun loadingLiveData(): LiveData<Boolean> = loading | |
override fun errorLiveData(): LiveData<Q> = error |
Blender - I'm not sure if this one counts since it is more of a CAD program than a video editor.
Avidemux is a free video editor designed for simple cutting, filtering and encoding tasks. It supports many file types, including AVI, DVD compatible MPEG files, MP4 and ASF, using a variety of codecs. Tasks can be automated using projects, job queue and powerful scripting.
Please refer to this blogpost to get an overview.
Replace *-INSTANCE
with one of the public instances listed in the scrapers section. Replace CAPITALIZED
words with their corresponding identifiers on the website.
import org.gradle.api.DefaultTask | |
import org.gradle.api.artifacts.Configuration | |
import org.gradle.api.attributes.Attribute | |
import org.gradle.api.model.ObjectFactory | |
import org.gradle.api.tasks.* | |
import org.gradle.kotlin.dsl.setProperty | |
import java.io.File | |
import javax.inject.Inject | |
/** |