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 | |
| /** |