Forum: NGINX sidebar menu + directory listing

3483c8ac67cecbcf8ce970fede2437ab?d=identicon&s=25 georg@riseup.net (Guest)
on 2013-11-13 22:36
(Received via mailing list)
Hi all,

I'd like to achieve the following, and found nothing so far trough
research. Maybe someone could give me a pointer whether this is possible
or not.

I'd like to use directory listing for some folders, which are made
accessible trough a location directive. At the same time, it should be
sub.domain.com, I would like to create a sidebar menu (trough css or
static html or whatever) to let users navigate trough a) some static
html files and b) these specific folders, using directory listing. I
hope this is understandable somehow...

Thanks,
Georg
34011bc56457235a2caa5ed1d4a29f3c?d=identicon&s=25 Jonathan Matthews (Guest)
on 2013-11-13 22:46
(Received via mailing list)
On 13 November 2013 21:35, georg@riseup.net <georg@riseup.net> wrote:
> html files and b) these specific folders, using directory listing. I
> hope this is understandable somehow...

Looks to me like you want to use frames and write yourself some pretty
basic HTML. I don't know of anything that's that application-a-like
that comes /inside/ nginx itself, however.

Jonathan
3483c8ac67cecbcf8ce970fede2437ab?d=identicon&s=25 georg@riseup.net (Guest)
on 2013-11-13 22:57
(Received via mailing list)
Hi,

On 13-11-13 21:45:46, Jonathan Matthews wrote:
> On 13 November 2013 21:35, georg@riseup.net <georg@riseup.net> wrote:
> Looks to me like you want to use frames and write yourself some pretty
> basic HTML. I don't know of anything that's that application-a-like
> that comes /inside/ nginx itself, however.

Yeah, I tought so aswell. My question was more like "how do I combine
html and directory listing at the same time..."?

Thanks,
Georg
526b09f2b949aae346eda86df5827b1f?d=identicon&s=25 "António P. P. Almeida" <appa@perusio.net> (Guest)
on 2013-11-13 23:09
(Received via mailing list)
Quite simply make all locations that are to listed use the autoindex on;
directive.

If I understood correctly you want all vhosts of the form sub.domain.tld
be
listed. So just make the "catch all" location / use the autoindex
directive.
Le 13 nov. 2013 22:57, "georg@riseup.net" <georg@riseup.net> a crit :
36a8284995fa0fb82e6aa2bede32adac?d=identicon&s=25 Francis Daly (Guest)
on 2013-11-13 23:10
(Received via mailing list)
On Wed, Nov 13, 2013 at 10:56:28PM +0100, georg@riseup.net wrote:
> On 13-11-13 21:45:46, Jonathan Matthews wrote:
> > On 13 November 2013 21:35, georg@riseup.net <georg@riseup.net> wrote:

Hi there,

> > Looks to me like you want to use frames and write yourself some pretty
> > basic HTML. I don't know of anything that's that application-a-like
> > that comes /inside/ nginx itself, however.
>
> Yeah, I tought so aswell. My question was more like "how do I combine
> html and directory listing at the same time..."?

Can you build a small directory tree, and manually create the files with
the content that you would like to have returned?

For directory listings, do a manual "ls" (or whatever) once to hard-code
the html.

That exercise might make clear to you what content you want nginx to
return in response to different requests -- particularly, which parts
are static and which parts are dynamic. And that in turn might help you
decide whether you want an nginx module, or the plain directory handler,
or something like an index.php that you can drop in each directory.

(I you use frames, you will be making more than one http request, so
nginx will be able to return more than one piece of content.)

Good luck with it,

  f
--
Francis Daly        francis@daoine.org
3483c8ac67cecbcf8ce970fede2437ab?d=identicon&s=25 georg@riseup.net (Guest)
on 2013-11-13 23:52
(Received via mailing list)
Hi,

Sorry, maybe I'm dumb, I'm not sure if I get it...

On 13-11-13 22:09:40, Francis Daly wrote:
> the content that you would like to have returned?
For the directory tree, you mean something like:

root
   |- index.html (should be displayed as html)
   |- n.html (should be displayed as html)
   |- dir1 (should be displayed via directory listing)
   |- dir2 (should be displayed via directory listing)

sidebar should look like:

Index (should point to index.html)
n (should point to n.html)
dir1 (should point to dir1)
dir2 (should point to dir2)

> For directory listings, do a manual "ls" (or whatever) once to hard-code
> the html.

Doing "ls" where? Inside the html?

> That exercise might make clear to you what content you want nginx to
> return in response to different requests -- particularly, which parts
> are static and which parts are dynamic. And that in turn might help you
> decide whether you want an nginx module, or the plain directory handler,
> or something like an index.php that you can drop in each directory.

Still unclear to me how I display html and directory listing at the same
tome on the "same page".

> (I you use frames, you will be making more than one http request, so
> nginx will be able to return more than one piece of content.)

If possible, I would like to avoid frames.

> Good luck with it,

Thanks,
Georg
36a8284995fa0fb82e6aa2bede32adac?d=identicon&s=25 Francis Daly (Guest)
on 2013-11-14 00:32
(Received via mailing list)
On Wed, Nov 13, 2013 at 11:52:05PM +0100, georg@riseup.net wrote:
> On 13-11-13 22:09:40, Francis Daly wrote:
> > On Wed, Nov 13, 2013 at 10:56:28PM +0100, georg@riseup.net wrote:

Hi there,

> Sorry, maybe I'm dumb, I'm not sure if I get it...

I'm trying to suggest that you do the background not-nginx-related
preparation work for your question outside of nginx, so that you have
a very clear idea of what you want nginx to do, and can then describe
clearly what that is.

> > Can you build a small directory tree, and manually create the files with
> > the content that you would like to have returned?
>
> For the directory tree, you mean something like:
>
> root
>    |- index.html (should be displayed as html)
>    |- n.html (should be displayed as html)
>    |- dir1 (should be displayed via directory listing)
>    |- dir2 (should be displayed via directory listing)

So, on the file system you have two files and two directories.

Presumably your web browser is going to make http requests for things
like "/" and "/index.html" and "/dir1/"; and you want nginx to return
specific content for each request.

> sidebar should look like:
>
> Index (should point to index.html)
> n (should point to n.html)
> dir1 (should point to dir1)
> dir2 (should point to dir2)

This part, I don't understand.

I suggest you do whatever it takes to manually create the html or
javascript or whatever you want, and put it in a file, so that when
your browser asks for that file, you see exactly what you want to see
on-screen.

Do this manually, for just this one example directory. Don't worry about
any part of it being dynamically generated. That comes later.

> > For directory listings, do a manual "ls" (or whatever) once to hard-code
> > the html.
>
> Doing "ls" where? Inside the html?

When you are manually creating the one-off static page that shows
exactly what you want, it will include mention of all nearby files
and directories.

Do whatever it takes -- possibly including "ls" -- to hard-code the
html-or-javascript that you want to see.

> Still unclear to me how I display html and directory listing at the same
> tome on the "same page".

Do a static one-off test first.

After that, you will have a much better idea of which parts you want to
be static and which parts you want to be dynamic.

And then your question might become "how do I change the 'autoindex'
output to be *this* instead of *that*?"; or it might become "how do I
get an 'index' file to generate output like *this*?"; or it might become
something else specific.

Right now, all I can understand of your question is "can nginx do what
I want?".

Maybe your question is already clear enough to other people, in which
case maybe they can offer suggestions.

  f
--
Francis Daly        francis@daoine.org
3483c8ac67cecbcf8ce970fede2437ab?d=identicon&s=25 georg@riseup.net (Guest)
on 2013-11-14 00:40
(Received via mailing list)
On 13-11-13 23:52:05, georg@riseup.net wrote:
> On 13-11-13 22:09:40, Francis Daly wrote:
> > On Wed, Nov 13, 2013 at 10:56:28PM +0100, georg@riseup.net wrote:
> > > On 13-11-13 21:45:46, Jonathan Matthews wrote:
> > For directory listings, do a manual "ls" (or whatever) once to hard-code
> > the html.
>
> Doing "ls" where? Inside the html?

...maybe I'll just write a small script using tree -H to output a
directory listing into static html, and serve this just as html.
Clever doing it like this?

Cheers,
Georg
2974d09ac2541e892966b762aad84943?d=identicon&s=25 itpp2012 (Guest)
on 2013-11-14 09:09
(Received via mailing list)
georg@riseup.net Wrote:
-------------------------------------------------------
> ....maybe I'll just write a small script using tree -H to output a
> directory listing into static html, and serve this just as html.
> Clever doing it like this?

http://wiki.nginx.org/NgxFancyIndex

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,244638,244653#msg-244653
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.