ArchiveBox | open source self-hosted web archive
kandi X-RAY | ArchiveBox Summary
kandi X-RAY | ArchiveBox Summary
Because modern websites are complicated and often rely on dynamic content, ArchiveBox archives the sites in several different formats beyond what public archiving services like Archive.org and Archive.is are capable of saving. Using multiple methods and the market-dominant browser to execute JS ensures we can save even the most complex, finicky websites in at least a few high-quality, long-term data formats. ArchiveBox imports a list of URLs from stdin, remote URL, or file, then adds the pages to a local archive folder using wget to create a browsable HTML clone, youtube-dl to extract media, and a full instance of Chrome headless for PDF, Screenshot, and DOM dumps, and more... Running archivebox add adds only new, unique links into your collection on each run. Because it will ignore duplicates and only archive each link the first time you add it, you can schedule it to run on a timer and re-import all your feeds multiple times a day. It will run quickly even if the feeds are large, because it's only archiving the newest links since the last run. For each link, it runs through all the archive methods. Methods that fail will save None and be automatically retried on the next run, methods that succeed save their output into the data folder and are never retried/overwritten by subsequent runs. Support for saving multiple snapshots of each site over time will be added soon (along with the ability to view diffs of the changes between runs). All the archived links are stored by date bookmarked in ./archive/, and everything is indexed nicely with JSON & HTML files. The intent is for all the content to be viewable with common software in 50 - 100 years without needing to run ArchiveBox in a VM. See the Usage: CLI page for documentation and examples. It does everything out-of-the-box by default, but you can disable or tweak individual archive methods via environment variables or config file. If you're importing URLs with secret tokens in them (e.g Google Docs, CodiMD notepads, etc), you may want to disable some of these methods to avoid leaking private URLs to 3rd party APIs during the archiving process. See the Security Overview page for more details.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of ArchiveBox
ArchiveBox Key Features
ArchiveBox Examples and Code Snippets
git clone --recurse-submodules https://github.com/ArchiveBox/ArchiveBox
cd ArchiveBox
git checkout dev # or the branch you want to test
git submodule update --init --recursive
git pull --recurse-submodules
# Install ArchiveBox + python dependencies
cd ArchiveBox/
git submodule update --init --recursive
git pull --recurse-submodules
# Install the package locally during testing
brew install --debug --verbose --interactive ./archivebox.rb
brew install --build-bottle ./archivebox.rb
brew test-bot
archivebox config # view the entire config
archivebox config --get CHROME_BINARY # view a specific value
archivebox config --set CHROME_BINARY=chromium # persist a config using CLI
# OR
echo CHROME_BINARY=chr
Community Discussions
Trending Discussions on ArchiveBox
QUESTION
I've tried this to try to change the color of the tab icons individually, but for some reason, the color will modify it correctly and then after tapping back to the icon, it will not display the customized color.
How would I go about changing the tab items icons for each individual tab (different colors for each)?
Here's the code for the view holding the TabView
that I'm trying to modify.
ANSWER
Answered 2022-Feb-13 at 20:55The easiest solution is to use an enum that returns a Color
. Like this:
QUESTION
I've found great content, But nothing too specific to my needs being swiftui is still new. I need to support menu cycling with switch case in the latest swift and monterey for macos, no ios development. i need strings, variables, and custom graphics to make a menu title and current in need of up to 9 menus to cycle randomly from one to a random other without an if statement looping through all of the others first: more info here: https://pastebin.com/VCnEmdBa
Additional information on needs:
I want to have the switch case cycle my nine menus, where i can be on any given one and the menu jump to the next random selection, right now it currently rotates in order no matter where i click.
...ANSWER
Answered 2021-Sep-19 at 16:58You can add an Identifier to your Option class and use this for currentSelection
, if you want to set an option, just set currentSelection
to option.id
:
Also: 1: If you want answers, it's best to format your code, before you post it (select in Xcode and ctrl+i should do it), so it's easy to read and understand
2: A minimal, reproducible example is not just posting your entire code, create an example, that contains only as much code as necessary to show the problem you're experiencing. The code I posted would be a better example, it will work without having to change anything. Your code includes references to objects that are not on here, so a possible helper would have to remove those, before he could even test your issue
here is a guide on how to create a minimal, reproducible example:
QUESTION
func createStatusItem() -> NSStatusItem {
let item = NSStatusBar.system.statusItem(withLength: NSStatusItem.squareLength)
item.button?.image = NSImage(systemSymbolName: "archivebox.fill", accessibilityDescription: "")
item.menu = createMenu()
return item;
}
func createMenu() -> NSMenu {
let menu = NSMenu(title: "Cap Status Bar Menu")
menu.addItem(
withTitle: "Order a burrito",
action: #selector(StatusBarFactory.x(_:)),
keyEquivalent: "A")
menu.addItem(
withTitle: "Cancel burrito order",
action: #selector(StatusBarFactory.x(_:)),
keyEquivalent: "B")
menu.addItem(NSMenuItem.separator())
let i = NSMenuItem(title: "test", action: #selector(StatusBarFactory.x(_:)), keyEquivalent: "T");
menu.addItem(i)
return menu
}
...ANSWER
Answered 2020-Dec-23 at 05:11Menu validation does not find any implementor of specified action in responder chain so disable it. You have to specify target for each menu item:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install ArchiveBox
Quickstart
Install
Docker
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page