Assignment 3.

This commit is contained in:
Kaj Forney 2023-09-21 14:25:17 -06:00
parent 4c54288145
commit 641f621c98
Signed by: kforney
GPG key ID: 3AB4E2E04CEF656F
28 changed files with 435 additions and 149 deletions

View file

@ -1,25 +1,16 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.7.34018.315
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assignment0", "Assignment0\Assignment0.csproj", "{EA104800-C010-4577-AF4E-D07F42507B34}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{EA104800-C010-4577-AF4E-D07F42507B34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EA104800-C010-4577-AF4E-D07F42507B34}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EA104800-C010-4577-AF4E-D07F42507B34}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EA104800-C010-4577-AF4E-D07F42507B34}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B72D9E46-E864-4A0B-8664-6D2D0209E641}
EndGlobalSection
EndGlobal

Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assignment0", "Assignment0\Assignment0.csproj", "{FF7C7802-1432-4B07-A7BD-FE3A1B896328}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FF7C7802-1432-4B07-A7BD-FE3A1B896328}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FF7C7802-1432-4B07-A7BD-FE3A1B896328}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FF7C7802-1432-4B07-A7BD-FE3A1B896328}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FF7C7802-1432-4B07-A7BD-FE3A1B896328}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal

View file

@ -1,124 +1,9 @@
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>
</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{EA104800-C010-4577-AF4E-D07F42507B34}</ProjectGuid>
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Assignment0</RootNamespace>
<AssemblyName>Assignment0</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<UseIISExpress>true</UseIISExpress>
<Use64BitIISExpress />
<IISExpressSSLPort />
<IISExpressAnonymousAuthentication />
<IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Web.DynamicData" />
<Reference Include="System.Web.Entity" />
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Core" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
<Reference Include="System.Web.Services" />
<Reference Include="System.EnterpriseServices" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform">
<HintPath>..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Content Include="avatar.png" />
<Content Include="index.html" />
<Content Include="Web.config" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
<None Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon>
</None>
<None Include="Web.Release.config">
<DependentUpon>Web.config</DependentUpon>
</None>
</ItemGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>True</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>50061</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost:50061/</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>
</CustomServerUrl>
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
</Project>

View file

@ -0,0 +1,13 @@
# Default ignored files
/shelf/
/workspace.xml
# Rider ignored files
/modules.xml
/contentModel.xml
/.idea.Assignment1.iml
/projectSettingsUpdater.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View file

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
</project>

View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DiscordProjectSettings">
<option name="show" value="ASK" />
<option name="description" value="" />
</component>
</project>

View file

@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AutoGeneratedRunConfigurationManager">
<projectFile profileName="Assignment1">Assignment2/Assignment2.csproj</projectFile>
</component>
<component name="ChangeListManager">
<list default="true" id="66a98e7f-6665-42c4-88af-b64b56b1f32c" name="Changes" comment="" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="CSS File" />
</list>
</option>
</component>
<component name="MarkdownSettingsMigration">
<option name="stateVersion" value="1" />
</component>
<component name="ProblemsViewState">
<option name="selectedTabId" value="CurrentFile" />
</component>
<component name="ProjectId" id="2L9VqIQ35nsaysmDbq1ySxt5DGi" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">{
&quot;keyToString&quot;: {
&quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
&quot;list.type.of.created.stylesheet&quot;: &quot;CSS&quot;,
&quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
},
&quot;keyToStringList&quot;: {
&quot;rider.external.source.directories&quot;: [
&quot;/home/kforney/.config/JetBrains/Rider2022.3/resharper-host/DecompilerCache&quot;,
&quot;/home/kforney/.config/JetBrains/Rider2022.3/resharper-host/SourcesCache&quot;,
&quot;/home/kforney/.local/share/Symbols/src&quot;
]
}
}</component>
<component name="RunManager">
<configuration name="Assignment2: Assignment1" type="LaunchSettings" factoryName=".NET Launch Settings Profile">
<option name="LAUNCH_PROFILE_PROJECT_FILE_PATH" value="$PROJECT_DIR$/Assignment3/Assignment3.csproj" />
<option name="LAUNCH_PROFILE_TFM" value="net6.0" />
<option name="LAUNCH_PROFILE_NAME" value="Assignment1" />
<option name="USE_EXTERNAL_CONSOLE" value="0" />
<option name="USE_MONO" value="0" />
<option name="RUNTIME_ARGUMENTS" value="" />
<option name="GENERATE_APPLICATIONHOST_CONFIG" value="1" />
<option name="SHOW_IIS_EXPRESS_OUTPUT" value="0" />
<option name="SEND_DEBUG_REQUEST" value="1" />
<option name="ADDITIONAL_IIS_EXPRESS_ARGUMENTS" value="" />
<method v="2">
<option name="Build" />
</method>
</configuration>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="66a98e7f-6665-42c4-88af-b64b56b1f32c" name="Changes" comment="" />
<created>1675283475574</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1675283475574</updated>
<workItem from="1675283477445" duration="96000" />
<workItem from="1675283581573" duration="4309000" />
<workItem from="1675400931222" duration="3619000" />
<workItem from="1676000565479" duration="97000" />
</task>
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" />
</component>
<component name="UnityUnitTestConfiguration" currentTestLauncher="NUnit" />
<component name="VcsManagerConfiguration">
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="true" />
</component>
</project>

View file

@ -0,0 +1,13 @@
# Default ignored files
/shelf/
/workspace.xml
# Rider ignored files
/contentModel.xml
/projectSettingsUpdater.xml
/.idea.Assignment2.iml
/modules.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View file

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
</project>

View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DiscordProjectSettings">
<option name="show" value="ASK" />
<option name="description" value="" />
</component>
</project>

View file

@ -0,0 +1,16 @@

Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assignment3", "Assignment3\Assignment3.csproj", "{48F7AD46-0DBD-4AED-A3EC-91B274492408}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{48F7AD46-0DBD-4AED-A3EC-91B274492408}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{48F7AD46-0DBD-4AED-A3EC-91B274492408}.Debug|Any CPU.Build.0 = Debug|Any CPU
{48F7AD46-0DBD-4AED-A3EC-91B274492408}.Release|Any CPU.ActiveCfg = Release|Any CPU
{48F7AD46-0DBD-4AED-A3EC-91B274492408}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal

View file

@ -0,0 +1,24 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>Assignment2</RootNamespace>
</PropertyGroup>
<ItemGroup>
<_ContentIncludedByDefault Remove="Pages\Error.cshtml" />
<_ContentIncludedByDefault Remove="Pages\Index.cshtml" />
<_ContentIncludedByDefault Remove="Pages\Privacy.cshtml" />
<_ContentIncludedByDefault Remove="Pages\Shared\_Layout.cshtml" />
<_ContentIncludedByDefault Remove="Pages\Shared\_ValidationScriptsPartial.cshtml" />
<_ContentIncludedByDefault Remove="Pages\_ViewImports.cshtml" />
<_ContentIncludedByDefault Remove="Pages\_ViewStart.cshtml" />
</ItemGroup>
<ItemGroup>
<Folder Include="wwwroot\fonts" />
</ItemGroup>
</Project>

View file

@ -0,0 +1,28 @@
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorPages();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseDefaultFiles();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
app.Run();

View file

@ -0,0 +1,28 @@
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:40874",
"sslPort": 44332
}
},
"profiles": {
"Assignment1": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:7199;http://localhost:5222",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}

View file

@ -0,0 +1,9 @@
{
"DetailedErrors": true,
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

View file

@ -0,0 +1,9 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Assignment 3</title>
<link rel="stylesheet" href="assets/css/styles.css">
<style>
.floatLeft{
padding: 20px;
float: left;
}
.floatRight{
padding: 20px;
float: right;
}
#inner{
column-count: unset;
}
</style>
</head>
<body>
<div id="outer">
<h1>HTML5 Columns and Google Fonts Assignment</h1>
<div id="inner">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Vitae tortor condimentum lacinia quis vel eros donec ac. Curabitur gravida arcu ac tortor. Vitae purus faucibus ornare suspendisse sed nisi. Suscipit tellus mauris a diam. Commodo viverra maecenas accumsan lacus vel facilisis volutpat est. Sagittis vitae et leo duis ut diam quam. Ultrices tincidunt arcu non sodales. Risus quis varius quam quisque id diam vel. Id velit ut tortor pretium. Sed viverra tellus in hac habitasse platea dictumst vestibulum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames. Sit amet justo donec enim diam vulputate ut pharetra. Varius sit amet mattis vulputate enim nulla. Feugiat vivamus at augue eget. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique. Ullamcorper malesuada proin libero nunc consequat interdum. Sit amet justo donec enim diam vulputate ut pharetra sit. Laoreet non curabitur gravida arcu ac tortor dignissim convallis aenean.</p>
<video class="floatLeft" width="320" height="150" autoplay muted>
<source src="assets/video/megashigi-gource.mp4" type="video/mp4">
Your browser does not support this video tag. (What are you trying to view this on?)
</video>
<p>Tellus cras adipiscing enim eu turpis egestas. Et molestie ac feugiat sed lectus vestibulum. Parturient montes nascetur ridiculus mus. Nunc mi ipsum faucibus vitae. Sed id semper risus in. Nunc sed augue lacus viverra vitae congue eu. Facilisis gravida neque convallis a. Tortor at auctor urna nunc id cursus metus aliquam. Ultrices eros in cursus turpis massa. In ante metus dictum at tempor. Diam sit amet nisl suscipit adipiscing bibendum est. Placerat orci nulla pellentesque dignissim. Odio morbi quis commodo odio aenean sed adipiscing diam donec. Porttitor rhoncus dolor purus non enim praesent elementum facilisis. Est ante in nibh mauris cursus mattis molestie a. Tristique senectus et netus et malesuada fames ac turpis. Dignissim diam quis enim lobortis scelerisque fermentum dui faucibus. Et tortor at risus viverra adipiscing at. Arcu bibendum at varius vel.</p>
<iframe class="floatRight" src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3239.977453855088!2d139.77236331570757!3d35.70217243018944!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x60188ea73ea6f4ff%3A0x5eb9f1e50fe061e3!2sAkihabara%2C%20Taito%20City%2C%20Tokyo%20110-0006%2C%20Japan!5e0!3m2!1sen!2sus!4v1675892146909!5m2!1sen!2sus" width="300" height="250" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
<p>Dolor sed viverra ipsum nunc. Consectetur lorem donec massa sapien faucibus et molestie. Tellus in metus vulputate eu scelerisque felis. Ultrices neque ornare aenean euismod elementum. Nulla facilisi etiam dignissim diam quis enim lobortis scelerisque. Turpis massa tincidunt dui ut ornare lectus. Bibendum arcu vitae elementum curabitur vitae. Odio ut enim blandit volutpat. Faucibus purus in massa tempor. Elementum tempus egestas sed sed risus pretium quam vulputate dignissim. Convallis convallis tellus id interdum velit laoreet id donec ultrices. Sagittis orci a scelerisque purus semper eget. Massa eget egestas purus viverra accumsan in nisl. Integer enim neque volutpat ac tincidunt. In hac habitasse platea dictumst quisque sagittis purus sit amet. Nunc consequat interdum varius sit amet mattis vulputate enim. Vulputate odio ut enim blandit volutpat maecenas volutpat blandit.</p>
<iframe class="floatLeft" width="240" height="140" src="https://www.youtube-nocookie.com/embed/7xbKejvXIGE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
<p>Sit amet mauris commodo quis imperdiet. Iaculis eu non diam phasellus vestibulum lorem sed risus. Quis hendrerit dolor magna eget. Eleifend donec pretium vulputate sapien nec sagittis aliquam malesuada bibendum. Odio ut sem nulla pharetra diam. Vestibulum rhoncus est pellentesque elit ullamcorper dignissim cras. Magna eget est lorem ipsum dolor sit amet consectetur. Amet tellus cras adipiscing enim eu turpis egestas pretium. Proin fermentum leo vel orci porta non pulvinar neque laoreet. Fames ac turpis egestas sed tempus urna et pharetra pharetra. Phasellus vestibulum lorem sed risus ultricies tristique nulla. Ridiculus mus mauris vitae ultricies leo integer. Rhoncus urna neque viverra justo nec. Sem et tortor consequat id. Amet dictum sit amet justo donec enim diam vulputate ut. Gravida dictum fusce ut placerat orci nulla pellentesque dignissim enim. Neque volutpat ac tincidunt vitae semper quis lectus. Nisi porta lorem mollis aliquam ut porttitor leo.</p>
<iframe class="floatRight" width="340" height="240" src="https://www.youtube-nocookie.com/embed/LaloFVeUvOk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
<p>Purus semper eget duis at tellus at urna. Diam quis enim lobortis scelerisque fermentum dui faucibus in ornare. Morbi tempus iaculis urna id volutpat. Sapien eget mi proin sed libero enim sed faucibus. Mattis pellentesque id nibh tortor id aliquet lectus proin. Malesuada bibendum arcu vitae elementum curabitur. A lacus vestibulum sed arcu non odio euismod lacinia. Accumsan sit amet nulla facilisi morbi. Vitae tempus quam pellentesque nec nam. Scelerisque viverra mauris in aliquam sem fringilla ut morbi tincidunt. Cras semper auctor neque vitae tempus quam pellentesque nec nam. Pretium viverra suspendisse potenti nullam ac tortor vitae purus. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus. Etiam erat velit scelerisque in dictum. Volutpat maecenas volutpat blandit aliquam etiam erat velit. Sed risus pretium quam vulputate dignissim suspendisse. Sodales ut etiam sit amet nisl purus in mollis. Id leo in vitae turpis massa. Tellus molestie nunc non blandit massa enim nec dui. Eget mi proin sed libero enim sed faucibus.</p>
<iframe class="floatLeft" src="https://itch.io/embed/1709477?bg_color=283044&amp;fg_color=78a1bb&amp;link_color=ffbc42&amp;border_color=434752" width="208" height="167" frameborder="0"><a href="https://lunarpenguin.itch.io/photo-gallery">Photo Gallery by Lunar_Penguin</a></iframe>
<p>Eget velit aliquet sagittis id consectetur purus. Eu turpis egestas pretium aenean pharetra magna. Pharetra diam sit amet nisl suscipit adipiscing. At tempor commodo ullamcorper a lacus vestibulum sed. Risus quis varius quam quisque. Eget mauris pharetra et ultrices neque ornare aenean euismod elementum. Donec enim diam vulputate ut pharetra sit amet. Erat imperdiet sed euismod nisi porta lorem. Ut enim blandit volutpat maecenas volutpat blandit aliquam etiam. Neque egestas congue quisque egestas diam in arcu. Viverra adipiscing at in tellus integer. Cursus sit amet dictum sit. Diam vel quam elementum pulvinar etiam non. Gravida cum sociis natoque penatibus. Tellus in metus vulputate eu scelerisque felis imperdiet proin fermentum. Commodo viverra maecenas accumsan lacus vel facilisis volutpat. Eu lobortis elementum nibh tellus molestie. Amet consectetur adipiscing elit ut aliquam purus.</p>
<p>Mauris vitae ultricies leo integer malesuada nunc. Ante in nibh mauris cursus. Aliquet sagittis id consectetur purus ut faucibus pulvinar. Urna condimentum mattis pellentesque id nibh tortor id aliquet. In arcu cursus euismod quis viverra nibh. Congue eu consequat ac felis. Sed viverra tellus in hac. Nisi porta lorem mollis aliquam ut porttitor leo a. Lacus suspendisse faucibus interdum posuere. Augue lacus viverra vitae congue eu consequat. Dictum at tempor commodo ullamcorper a lacus vestibulum. Ultrices mi tempus imperdiet nulla malesuada pellentesque elit eget. Pellentesque id nibh tortor id aliquet lectus proin. Quam pellentesque nec nam aliquam. Egestas erat imperdiet sed euismod nisi porta lorem mollis. Tellus in metus vulputate eu scelerisque felis. Proin sagittis nisl rhoncus mattis. Eget egestas purus viverra accumsan in nisl nisi scelerisque. Cum sociis natoque penatibus et magnis dis.</p>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Assignment 3</title>
<link rel="stylesheet" href="assets/css/styles.css">
</head>
<body>
<div id="outer">
<h1>HTML5 Columns and Google Fonts Assignment</h1>
<div id="inner">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Vitae tortor condimentum lacinia quis vel eros donec ac. Curabitur gravida arcu ac tortor. Vitae purus faucibus ornare suspendisse sed nisi. Suscipit tellus mauris a diam. Commodo viverra maecenas accumsan lacus vel facilisis volutpat est. Sagittis vitae et leo duis ut diam quam. Ultrices tincidunt arcu non sodales. Risus quis varius quam quisque id diam vel. Id velit ut tortor pretium. Sed viverra tellus in hac habitasse platea dictumst vestibulum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames. Sit amet justo donec enim diam vulputate ut pharetra. Varius sit amet mattis vulputate enim nulla. Feugiat vivamus at augue eget. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique. Ullamcorper malesuada proin libero nunc consequat interdum. Sit amet justo donec enim diam vulputate ut pharetra sit. Laoreet non curabitur gravida arcu ac tortor dignissim convallis aenean.</p>
<p>Tellus cras adipiscing enim eu turpis egestas. Et molestie ac feugiat sed lectus vestibulum. Parturient montes nascetur ridiculus mus. Nunc mi ipsum faucibus vitae. Sed id semper risus in. Nunc sed augue lacus viverra vitae congue eu. Facilisis gravida neque convallis a. Tortor at auctor urna nunc id cursus metus aliquam. Ultrices eros in cursus turpis massa. In ante metus dictum at tempor. Diam sit amet nisl suscipit adipiscing bibendum est. Placerat orci nulla pellentesque dignissim. Odio morbi quis commodo odio aenean sed adipiscing diam donec. Porttitor rhoncus dolor purus non enim praesent elementum facilisis. Est ante in nibh mauris cursus mattis molestie a. Tristique senectus et netus et malesuada fames ac turpis. Dignissim diam quis enim lobortis scelerisque fermentum dui faucibus. Et tortor at risus viverra adipiscing at. Arcu bibendum at varius vel.</p>
<p>Dolor sed viverra ipsum nunc. Consectetur lorem donec massa sapien faucibus et molestie. Tellus in metus vulputate eu scelerisque felis. Ultrices neque ornare aenean euismod elementum. Nulla facilisi etiam dignissim diam quis enim lobortis scelerisque. Turpis massa tincidunt dui ut ornare lectus. Bibendum arcu vitae elementum curabitur vitae. Odio ut enim blandit volutpat. Faucibus purus in massa tempor. Elementum tempus egestas sed sed risus pretium quam vulputate dignissim. Convallis convallis tellus id interdum velit laoreet id donec ultrices. Sagittis orci a scelerisque purus semper eget. Massa eget egestas purus viverra accumsan in nisl. Integer enim neque volutpat ac tincidunt. In hac habitasse platea dictumst quisque sagittis purus sit amet. Nunc consequat interdum varius sit amet mattis vulputate enim. Vulputate odio ut enim blandit volutpat maecenas volutpat blandit.</p>
<p>Sit amet mauris commodo quis imperdiet. Iaculis eu non diam phasellus vestibulum lorem sed risus. Quis hendrerit dolor magna eget. Eleifend donec pretium vulputate sapien nec sagittis aliquam malesuada bibendum. Odio ut sem nulla pharetra diam. Vestibulum rhoncus est pellentesque elit ullamcorper dignissim cras. Magna eget est lorem ipsum dolor sit amet consectetur. Amet tellus cras adipiscing enim eu turpis egestas pretium. Proin fermentum leo vel orci porta non pulvinar neque laoreet. Fames ac turpis egestas sed tempus urna et pharetra pharetra. Phasellus vestibulum lorem sed risus ultricies tristique nulla. Ridiculus mus mauris vitae ultricies leo integer. Rhoncus urna neque viverra justo nec. Sem et tortor consequat id. Amet dictum sit amet justo donec enim diam vulputate ut. Gravida dictum fusce ut placerat orci nulla pellentesque dignissim enim. Neque volutpat ac tincidunt vitae semper quis lectus. Nisi porta lorem mollis aliquam ut porttitor leo.</p>
<p>Purus semper eget duis at tellus at urna. Diam quis enim lobortis scelerisque fermentum dui faucibus in ornare. Morbi tempus iaculis urna id volutpat. Sapien eget mi proin sed libero enim sed faucibus. Mattis pellentesque id nibh tortor id aliquet lectus proin. Malesuada bibendum arcu vitae elementum curabitur. A lacus vestibulum sed arcu non odio euismod lacinia. Accumsan sit amet nulla facilisi morbi. Vitae tempus quam pellentesque nec nam. Scelerisque viverra mauris in aliquam sem fringilla ut morbi tincidunt. Cras semper auctor neque vitae tempus quam pellentesque nec nam. Pretium viverra suspendisse potenti nullam ac tortor vitae purus. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique senectus. Etiam erat velit scelerisque in dictum. Volutpat maecenas volutpat blandit aliquam etiam erat velit. Sed risus pretium quam vulputate dignissim suspendisse. Sodales ut etiam sit amet nisl purus in mollis. Id leo in vitae turpis massa. Tellus molestie nunc non blandit massa enim nec dui. Eget mi proin sed libero enim sed faucibus.</p>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,39 @@
@font-face {
font-family: 'Quicksand';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url("../fonts/Quicksand-Light.ttf");
}
@font-face {
font-family: 'Quicksand';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url("../fonts/Quicksand-Regular.ttf");
}
@font-face {
font-family: 'Quicksand';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url("../fonts/Quicksand-Medium.ttf");
}
@font-face {
font-family: 'Quicksand';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url("../fonts/Quicksand-SemiBold.ttf");
}
@font-face {
font-family: 'Quicksand';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url("../fonts/Quicksand-Bold.ttf");
}

View file

@ -0,0 +1,41 @@
/*
Note: I am deliberately choosing to not use Google Fonts' stylesheet, because I try to respect the privacy of people
viewing my webpages as much as possible by not bringing in more from Google than I absolutely have to.
If I were to use Google Fonts in the usual way, I would include this line:
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap');
Instead, I can accomplish the exact same task using locally hosted font files, as seen below.
*/
@import "fonts.css";
html{
font-size: 62.5%;
background-color: #FFFFFF;
color: #000000;
line-height: 1.4rem;
font-family: Quicksand, sans-serif;
}
h1{
font-size: 4rem;
text-align: center;
text-shadow: #2c2c2c 2px 2px 2px;
}
#outer{
width: 992px;
border: 1px solid #000000;
border-radius: 20px;
margin: 20px auto;
background-color: #a4a4a4;
box-shadow: #2c2c2c 10px 10px 10px;
}
#inner{
column-count: 3;
column-rule: 1px solid #000000;
column-gap: 3rem;
padding: 3rem;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB