cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
endolith
Strollin' around
Status: New idea

Mozilla Archive Format is a file type for saving complete web pages, with all related resources saved in a single zip file.  https://en.wikipedia.org/wiki/Mozilla_Archive_Format

  • It is superior to the current "Web page, complete" because it is a single file and can be moved and renamed without problems, and has no filesystem overhead.
  • It is superior to PDF because it doesn't divide up the web page into arbitrary page boundaries, add headers and footers, distort the layout, etc.  It can be viewed on any screen in the original intended format.
  • It is superior to MHT format because it keeps the original context of the web page as closely as possible and doesn't re-encode all the files into BASE64. They can be extracted from the archive with their original filenames and metadata, etc. or deleted from it to save space if they are inconsequential.  MAFF is a simpler, more future-proof format.

Firefox should natively save and open .maff files without a need for add-ons.  It's very frustrating that this format was created by Mozilla, we saved many web pages using it, and then Mozilla abandoned the format and removed the functionality from Firefox and made it impossible to provide through add-ons.

16 Comments
renfrow
New member

I, also, deeply miss MAFF! Put my $10 in with the rest :).

Here's a script for double clicking on MAFF files and opening them in your 'default' web browser, on Windows. Save it into a .bat file, then right click on the MAFF and select "Open With" and select the bat file to always open it. I have a task the runs every night to empty the directory where I copy the MAFF file, you can change the location to where-ever you want...

 

@echo off

REM The 'for' and the 'set' I'll admit are magic. I got this off the web from:
REM https://stackoverflow.com/questions/203090/how-do-i-get-current-date-time-on-the-windows-command-line-in-a-suitable-format
REM and modified it to make a file system friendly directory name.
REM More or less it makes a string comprised of the date, 24 hour time, seconds,
REM and milliseconds.

for /F "usebackq tokens=1,2 delims==" %%i in (`wmic os get LocalDateTime /VALUE 2^>NUL`) do if '.%%i.'=='.LocalDateTime.' set ldt=%%j
set ldt=%ldt:~0,4%-%ldt:~4,2%-%ldt:~6,2%_%ldt:~8,2%-%ldt:~10,2%-%ldt:~12,6%

set MAFF_TempDir="C:\ReallyTempEmptyEveryDay\MAFF-%ldt%"
mkdir "%MAFF_TempDir%"

set tZipFile=%MAFF_TempDir%\maff_file.zip

REM quietly copy .maff file from source to temp directory as .zip file
  copy /Y %1 %tZipFile% > nul

REM quietly unzip copied file
  setlocal
  cd /d "%MAFF_TempDir%"
  7z x maff_file.zip > nul

REM find newest created subdirectory
REM sort acording to the following, and drop out of loop after the first (newest) directory
REM /b - tell dir not to add normal header/footer
REM /ad-h - display only directories even if they are hidden
REM /t:c - sort using the creation date
REM /o-d - sort newest first
  FOR /F "delims=" %%i IN ('dir /b /ad-h /t:c /o-d') DO (
  SET a=%%i
  GOTO EndOfLoop )
:EndOfLoop

REM change to latest subdirectory
  cd "%a%"

REM run html file   
  start index.html

REM quietly delete copied zip file
  del "%tZipFile%" > nul

  exit