2727define ( function ( require , exports , module ) {
2828
2929 const ProjectManager = brackets . getModule ( "project/ProjectManager" ) ,
30+ DocumentManager = brackets . getModule ( "document/DocumentManager" ) ,
3031 ExtensionUtils = brackets . getModule ( "utils/ExtensionUtils" ) ,
3132 Dialogs = brackets . getModule ( "widgets/Dialogs" ) ,
3233 Strings = brackets . getModule ( "strings" ) ,
@@ -42,6 +43,7 @@ define(function (require, exports, module) {
4243 let projectSyncStarted = false ;
4344 let projectSyncCompleted = false ;
4445 let tab = null ;
46+ let previewURL ;
4547
4648 function _setupUserContext ( ) {
4749 userContext = localStorage . getItem ( USER_CONTEXT ) ;
@@ -141,6 +143,7 @@ define(function (require, exports, module) {
141143 syncEnabled = false ;
142144 projectSyncStarted = false ;
143145 projectSyncCompleted = false ;
146+ previewURL = null ;
144147 }
145148
146149 function _projectFileChanged ( target , entry , added , removed ) {
@@ -202,14 +205,32 @@ define(function (require, exports, module) {
202205 } ) ;
203206 }
204207
208+ function _isPreviewableFile ( path ) {
209+ return true ;
210+ }
211+
205212 function _loadPreview ( ) {
206- let url = _getProjectPublishedURL ( ) ;
213+ let projectRootUrl = _getProjectPublishedURL ( ) ;
214+ let currentDocument = DocumentManager . getCurrentDocument ( ) ;
215+ let currentFile = currentDocument ? currentDocument . file : ProjectManager . getSelectedItem ( ) ;
216+ if ( currentFile ) {
217+ let fullPath = currentFile . fullPath ;
218+ let projectRoot = ProjectManager . getProjectRoot ( ) . fullPath ;
219+ let relativePath = path . relative ( projectRoot , fullPath ) ;
220+ if ( _isPreviewableFile ( relativePath ) ) {
221+ previewURL = `${ projectRootUrl } /${ relativePath } ` ;
222+ }
223+ }
224+
225+ if ( ! previewURL ) {
226+ previewURL = projectRootUrl ;
227+ }
207228 if ( ! tab || tab . closed ) {
208- tab = open ( url ) ;
229+ tab = open ( previewURL ) ;
209230 }
210231 else {
211232 tab . close ( ) ;
212- tab = open ( url ) ;
233+ tab = open ( previewURL ) ;
213234 }
214235 }
215236
0 commit comments