1
0
mirror of https://github.com/actix/examples synced 2025-06-28 09:50:36 +02:00

Restructure folders (#411)

This commit is contained in:
Daniel T. Rodrigues
2021-02-25 21:57:58 -03:00
committed by GitHub
parent 9db98162b2
commit c3407627d0
334 changed files with 127 additions and 120 deletions

2
basics/static_index/.gitattributes vendored Normal file
View File

@ -0,0 +1,2 @@
# Auto detect text files and perform LF normalization
* text=auto

View File

@ -0,0 +1,10 @@
[package]
name = "static_index"
version = "2.0.0"
authors = ["Jose Marinez <digeratus@gmail.com>"]
edition = "2018"
[dependencies]
actix-web = "3"
actix-files = "0.3"
env_logger = "0.8"

View File

@ -0,0 +1,16 @@
# static_index
Demonstrates how to serve static files. Inside the `./static` folder you will find 2 subfolders:
* `root`: A tree of files that will be served at the web root `/`. This includes the `css` and `js` folders, each
containing an example file.
* `images`: A list of images that will be served at `/images` path, with file listing enabled.
## Usage
```bash
$ cd examples/static_index
$ cargo run
```
This will start the server on port 8080, it can be viewed at [http://localhost:8080](http://localhost:8080).

View File

@ -0,0 +1,24 @@
use actix_files::Files;
use actix_web::{middleware, App, HttpServer};
#[actix_web::main]
async fn main() -> std::io::Result<()> {
std::env::set_var("RUST_LOG", "actix_web=info");
env_logger::init();
HttpServer::new(|| {
App::new()
// Enable the logger.
.wrap(middleware::Logger::default())
// We allow the visitor to see an index of the images at `/images`.
.service(Files::new("/images", "static/images/").show_files_listing())
// Serve a tree of static files at the web root and specify the index file.
// Note that the root path should always be defined as the last item. The paths are
// resolved in the order they are defined. If this would be placed before the `/images`
// path then the service for the static images would never be reached.
.service(Files::new("/", "./static/root/").index_file("index.html"))
})
.bind("127.0.0.1:8080")?
.run()
.await
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

@ -0,0 +1,11 @@
body {
text-align: center;
}
h1 {
font-family: sans-serif;
}
img {
transition: .5s ease-in-out;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,13 @@
<!DOCTYPE html>
<meta charset="utf-8" />
<html>
<head>
<link rel="stylesheet" href="css/example.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="/js/example.js"></script>
</head>
<body>
<h1>Actix-web</h1>
<img src="/images/logo.png" alt="Actix logo" />
</body>
</html>

View File

@ -0,0 +1,7 @@
jQuery(document).ready(function () {
let rotation = 0;
jQuery("img").click(function () {
rotation += 360;
jQuery("img").css({'transform': 'rotate(' + rotation + 'deg)'});
});
});