1. A method implemented in a server for editing content using a single page application, comprising: receiving a request from a workstation to edit a selected segment of a plurality of segments within a file, wherein the file is in a markup language format, and wherein the plurality of segments within the file comprises source code in at least one of Cascading Style Sheets or JavaScript; determining if the selected segment is locked, wherein any segments that are locked are unavailable for editing; upon determining that the selected segment is unlocked, providing access to the selected segment to the workstation, wherein the selected segment is accessed by the single page application, and wherein the single page application is a self-contained application without links to external resources; locking the selected segment for a period of time, wherein the selected segment is unavailable for editing by any other workstations; receiving a save request from the workstation to save changes made to the selected segment; saving the changes made in the selected segment within the file; receiving a preview request from the workstation to preview the changes made to the selected segment within the file prior to publishing; responsive to receiving the preview request and prior to publishing a new version of the file comprising the selected segment, sending predefined global sub-sections of the file and the selected segment to the workstation for previewing, wherein the previewing comprises combining the predefined global sub-sections and the source code in the selected segment to create a single markup language document that is rendered and displayed by a web browser in the workstation as the selected segment is to appear after publication; subsequent to the previewing, publishing the new version of the file comprising the selected segment, wherein the new version of the file is in the markup language format and is self-contained without links to external resources outside of the new version of the file; responsive to the publishing, sending, to a plurality of users with access to the file, a notification message indicating that the file has been updated and the new version of the file has been published; and unlocking the selected segment, wherein the unlocked selected segment is available for editing by any workstation.